/* Generated by Cython 3.2.4 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/opt/cuda/include/cuda.h",
            "/opt/cuda/include/cudaProfiler.h",
            "/opt/cuda/include/cuda_runtime_api.h",
            "/opt/cuda/include/device_types.h",
            "/opt/cuda/include/driver_types.h",
            "/opt/cuda/include/library_types.h",
            "/opt/cuda/include/surface_types.h",
            "/opt/cuda/include/texture_types.h",
            "/opt/cuda/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",
            "/usr/include",
            "/opt/cuda/include"
        ],
        "language": "c++",
        "library_dirs": [
            "/usr/lib/python3.14/site-packages",
            "/usr/lib",
            "/opt/cuda/lib64",
            "/opt/cuda/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_2_4"
#define CYTHON_HEX_VERSION 0x030204F0
#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 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 0
  #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
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 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
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 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_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
  #ifndef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 1
  #endif
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 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
  #if defined(CYTHON_IMMORTAL_CONSTANTS) && PY_VERSION_HEX < 0x030C0000
    #undef CYTHON_IMMORTAL_CONSTANTS
    #define CYTHON_IMMORTAL_CONSTANTS 0  // definitely won't work
  #elif !defined(CYTHON_IMMORTAL_CONSTANTS)
    #define CYTHON_IMMORTAL_CONSTANTS (PY_VERSION_HEX >= 0x030C0000 && !CYTHON_USE_MODULE_STATE && CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
#endif
#ifndef CYTHON_COMPRESS_STRINGS
  #define CYTHON_COMPRESS_STRINGS 1
#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)
#endif
#endif
#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 __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)
#include <stdint.h>
typedef uintptr_t  __pyx_uintptr_t;
#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 < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (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 Py_TPFLAGS_IMMUTABLETYPE
  #define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
#endif
#ifndef Py_TPFLAGS_DISALLOW_INSTANTIATION
  #define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
#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))
#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 PY_VERSION_HEX < 0x03090000 || (CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  #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 && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) GraalPyFrame_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
#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 && PY_VERSION_HEX >= 0x030E0000
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && PyUnstable_Object_IsUniquelyReferenced(obj)) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#elif 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
enum __Pyx_ReferenceSharing {
  __Pyx_ReferenceSharing_DefinitelyUnique, // We created it so we know it's unshared - no need to check
  __Pyx_ReferenceSharing_OwnStrongReference,
  __Pyx_ReferenceSharing_FunctionArgument,
  __Pyx_ReferenceSharing_SharedReference, // Never trust it to be unshared because it's a global or similar
};
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX >= 0x030E0000
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing)\
    (sharing == __Pyx_ReferenceSharing_DefinitelyUnique ? 1 :\
      (sharing == __Pyx_ReferenceSharing_FunctionArgument ? PyUnstable_Object_IsUniqueReferencedTemporary(o) :\
      (sharing == __Pyx_ReferenceSharing_OwnStrongReference ? PyUnstable_Object_IsUniquelyReferenced(o) : 0)))
#elif (CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)sharing), Py_REFCNT(o) == 1)
#else
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)o), ((void)sharing), 0)
#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 CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !CYTHON_COMPILING_IN_LIMITED_API && CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) (__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\
    __Pyx_NewRef(PyList_GET_ITEM(o, i)) : __Pyx_PyList_GetItemRef(o, i))
#else
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) __Pyx_PyList_GetItemRef(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 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>
#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

#ifdef CYTHON_FREETHREADING_COMPATIBLE
#if CYTHON_FREETHREADING_COMPATIBLE
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
#endif
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED
#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
  #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",
  "carray.from_py",
  "cuda/bindings/driver.pxd",
  "cpython/type.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* Atomics.proto (used by UnpackUnboundCMethod) */
#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)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #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)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #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_nonatomic_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)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_nonatomic_ptr_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #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
    #define __pyx_nonatomic_ptr_type void*
    #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)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_atomic_ptr_type old = _InterlockedCompareExchangePointer(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #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

/* CriticalSectionsDefinition.proto (used by CriticalSections) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection void*
#define __Pyx_PyCriticalSection2 void*
#define __Pyx_PyCriticalSection_End(cs)
#define __Pyx_PyCriticalSection2_End(cs)
#else
#define __Pyx_PyCriticalSection PyCriticalSection
#define __Pyx_PyCriticalSection2 PyCriticalSection2
#define __Pyx_PyCriticalSection_End PyCriticalSection_End
#define __Pyx_PyCriticalSection2_End PyCriticalSection2_End
#endif

/* CriticalSections.proto (used by ParseKeywordsImpl) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection_Begin(cs, arg) (void)(cs)
#define __Pyx_PyCriticalSection2_Begin(cs, arg1, arg2) (void)(cs)
#else
#define __Pyx_PyCriticalSection_Begin PyCriticalSection_Begin
#define __Pyx_PyCriticalSection2_Begin PyCriticalSection2_Begin
#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

/* 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 (used by FixUpExtensionType) */
#include <structmember.h>

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

/* "cuda/bindings/cydriver.pxd":2731
 * 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":2733
 * ctypedef unsigned int GLenum
 * 
 * ctypedef unsigned int GLuint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef unsigned int __pyx_t_4cuda_8bindings_8cydriver_GLuint;

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

/* "cuda/bindings/cydriver.pxd":2752
 * 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":2754
 * 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":2756
 * 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":2758
 * 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_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st;
struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_CUcheckpointGpuPair;
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_CUdevWorkqueueConfigResource;
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource;
struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS;
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;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr;
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr;
union __pyx_t_4cuda_8bindings_8cydriver_anon_union15;
struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st;

/* "cuda/bindings/cydriver.pxd":2558
 *     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":2564
 * 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":2570
 * 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":2717
 * 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":2724
 * 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":3718
 * cdef CUresult cuGraphicsVDPAURegisterOutputSurface(CUgraphicsResource* pCudaResource, VdpOutputSurface vdpSurface, unsigned int flags) except ?CUDA_ERROR_NOT_FOUND nogil
 * 
 * cdef enum: CUDA_VERSION = 13010             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CUDA_VERSION = 0x32D2
};

/* "cuda/bindings/cydriver.pxd":3720
 * cdef enum: CUDA_VERSION = 13010
 * 
 * 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":3722
 * 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":3724
 * 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":3726
 * 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":3728
 * 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":3730
 * 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":3732
 * 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":3734
 * 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":3736
 * 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":3738
 * 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":3740
 * 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":3742
 * 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":3744
 * 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":3746
 * 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":3748
 * 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":3750
 * 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":3752
 * 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":3754
 * 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":3756
 * 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":3758
 * 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":3760
 * 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":3762
 * 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":3764
 * 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":3766
 * 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":3768
 * 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":3770
 * 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":3772
 * 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":3774
 * 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":3776
 * 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":3778
 * 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":3780
 * 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":3782
 * 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":3784
 * 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":3786
 * 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":3788
 * 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":3790
 * 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":3792
 * 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":3794
 * 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":3796
 * 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":3798
 * 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":3800
 * 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":3802
 * 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":3804
 * 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":3806
 * 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":3808
 * 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":3810
 * 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":3812
 * 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":3814
 * 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":3816
 * 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":3818
 * 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":3820
 * 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":3822
 * 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":3824
 * 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":3826
 * 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":3828
 * 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":3830
 * 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":3832
 * 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":3834
 * 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":3836
 * 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":3838
 * 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":3840
 * 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":3842
 * 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":3844
 * 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":3846
 * 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":3848
 * 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":3850
 * 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":3852
 * 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":3854
 * 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":3856
 * cdef enum: CU_DEVICE_CPU = -1
 * 
 * cdef enum: CU_DEVICE_INVALID = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: MAX_PLANES = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_8cydriver_CU_DEVICE_INVALID = -2L
};

/* "cuda/bindings/cydriver.pxd":3858
 * cdef enum: CU_DEVICE_INVALID = -2
 * 
 * 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":3860
 * 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":2562
 *     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":2568
 *     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":2690
 *     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":2692
 * 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":2696
 *     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":2708
 *     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":2710
 * 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":2715
 *     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":2722
 *     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":2729
 *     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":2738
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
*/
typedef void *__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR;

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

/* "cuda/bindings/cydriver.pxd":2750
 *     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_union10;
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":877
 * 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":879
 * cdef enum: cudaHostAllocDefault = 0
 * 
 * cdef enum: cudaHostAllocPortable = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocMapped = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaHostAllocPortable = 1
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* "cuda/bindings/cyruntime.pxd":977
 * 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":979
 * 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":981
 * 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":983
 * cdef enum: cudaExternalMemoryDedicated = 1
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* "cuda/bindings/cyruntime.pxd":1023
 * cdef enum: cudaKernelNodeAttributePreferredSharedMemoryCarveout = 14
 * 
 * cdef enum: cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeNvlinkUtilCentricScheduling = 16
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13
};

/* "cuda/bindings/cyruntime.pxd":1025
 * cdef enum: cudaKernelNodeAttributeDeviceUpdatableKernelNode = 13
 * 
 * cdef enum: cudaKernelNodeAttributeNvlinkUtilCentricScheduling = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1D = 1
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaKernelNodeAttributeNvlinkUtilCentricScheduling = 16
};

/* "cuda/bindings/cyruntime.pxd":1027
 * cdef enum: cudaKernelNodeAttributeNvlinkUtilCentricScheduling = 16
 * 
 * cdef enum: cudaSurfaceType1D = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2D = 2
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_cudaSurfaceType1D = 1
};

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

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

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

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

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

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

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

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

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

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

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

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

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

/* "cuda/bindings/cyruntime.pxd":1055
 * cdef enum: cudaTextureTypeCubemapLayered = 252
 * 
 * cdef enum: CUDART_VERSION = 13010             # <<<<<<<<<<<<<<
 * 
 * cdef enum: __CUDART_API_VERSION = 13010
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime_CUDART_VERSION = 0x32D2
};

/* "cuda/bindings/cyruntime.pxd":1057
 * cdef enum: CUDART_VERSION = 13010
 * 
 * cdef enum: __CUDART_API_VERSION = 13010             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_MAX_PLANES = 3
*/
enum  {
  __pyx_e_4cuda_8bindings_9cyruntime___CUDART_API_VERSION = 0x32D2
};

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

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

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

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

/* "cuda/bindings/cyruntime_types.pxi":1700
 * 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_union10:
*/
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_union10:             # <<<<<<<<<<<<<<
 *     cudaArray_t pArray[3]
 *     cudaPitchedPtr pPitch[3]
*/
union __pyx_t_4cuda_8bindings_9cyruntime_anon_union10 {
  cudaArray_t pArray[3];
  struct cudaPitchedPtr pPitch[3];
};

/* "cuda/bindings/cyruntime.pxd":183
 *     cudaPitchedPtr pPitch[3]
 * 
 * cdef struct cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *     anon_union10 frame
 *     cudaEglPlaneDesc planeDesc[3]
*/
struct __pyx_t_4cuda_8bindings_9cyruntime_cudaEglFrame_st {
  union __pyx_t_4cuda_8bindings_9cyruntime_anon_union10 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":23684
 *     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":23688
 *     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":31705
 *     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":31709
 *     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":35307
 *     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":35311
 *     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":46400
 *     return (_dict_CUresult[err], resource)
 * 
 * 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":46404
 *     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 CUstreamMemOpAtomicReductionParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_address;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_value;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *_alias;
};


/* "cuda/bindings/driver.pxd":652
 *     cdef CUdeviceptr _alias
 * 
 * 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;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *_atomicReduction;
};


/* "cuda/bindings/driver.pxd":689
 *     cdef CUstreamMemOpAtomicReductionParams_st _atomicReduction
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters  Used in the legacy
*/
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":716
 *     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":742
 *     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":756
 *     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":771
 *     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":792
 *     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":827
 *     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":864
 *     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":901
 *     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":946
 *     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":991
 *     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":1019
 *     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":1050
 *     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":1070
 *     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":1090
 *     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":1138
 *     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":1180
 *     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":1206
 *     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":1231
 *     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":1249
 *     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":1268
 *     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":1285
 *     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":1303
 *     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":1320
 *     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":1415
 *     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":1435
 *     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":1473
 *     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":1490
 *     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":1505
 *     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":1525
 *     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":1544
 *     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":1570
 *     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":1591
 *     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":1642
 *     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":1712
 *     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":1785
 *     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":1810
 *     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":1833
 *     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":1860
 *     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":1878
 *     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":1905
 *     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":1926
 *     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":1941
 *     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":1956
 *     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":1977
 *     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":2002
 *     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":2016
 *     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":2043
 *     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":2065
 *     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":2100
 *     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":2133
 *     cdef cydriver.CUDA_RESOURCE_VIEW_DESC_st* _pvt_ptr
 * 
 * cdef class CUtensorMap_st:             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st {
  PyObject_HEAD
  struct CUtensorMap_st _pvt_val;
  struct CUtensorMap_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":2151
 *     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":2170
 *     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":2208
 *     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":2224
 *     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":2243
 *     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":2269
 *     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":2292
 *     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":2317
 *     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":2333
 *     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":2352
 *     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":2376
 *     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":2390
 *     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":2406
 *     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":2420
 *     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":2443
 *     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":2472
 *     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":2486
 *     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":2502
 *     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":2518
 *     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":2541
 *     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":2570
 *     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":2596
 *     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":2622
 *     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":2648
 *     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":2674
 *     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":2692
 *     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":2720
 *     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":2738
 *     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":2756
 *     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":2771
 *     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":2812
 *     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":2831
 *     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":2851
 *     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":2882
 *     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":2908
 *     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":2928
 *     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":2954
 *     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":2990
 *     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":3007
 *     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":3036
 *     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":3057
 *     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":3078
 *     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":3100
 *     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":3118
 *     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":3136
 *     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":3156
 *     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":3183
 *     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":3216
 *     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":3249
 *     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":3267
 *     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":3291
 *     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":3309
 *     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":3327
 *     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":3389
 *     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":3411
 *     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":3428
 *     cdef cydriver.CUcheckpointCheckpointArgs_st* _pvt_ptr
 * 
 * cdef class CUcheckpointGpuPair_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint GPU UUID pairs for device remapping during restore
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st {
  PyObject_HEAD
  struct CUcheckpointGpuPair_st _pvt_val;
  struct CUcheckpointGpuPair_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *_oldUuid;
  struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *_newUuid;
};


/* "cuda/bindings/driver.pxd":3449
 *     cdef CUuuid _newUuid
 * 
 * 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;
  size_t _gpuPairs_length;
  CUcheckpointGpuPair *_gpuPairs;
  struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *_reserved1;
};


/* "cuda/bindings/driver.pxd":3476
 *     cdef cuuint64_t _reserved1
 * 
 * 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":3493
 *     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":3532
 *     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":3558
 *     cdef cydriver.CUdevSmResource_st* _pvt_ptr
 * 
 * cdef class CUdevWorkqueueConfigResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st {
  PyObject_HEAD
  struct CUdevWorkqueueConfigResource_st _pvt_val;
  struct CUdevWorkqueueConfigResource_st *_pvt_ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *_device;
};


/* "cuda/bindings/driver.pxd":3578
 *     cdef CUdevice _device
 * 
 * cdef class CUdevWorkqueueResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st {
  PyObject_HEAD
  struct CUdevWorkqueueResource_st _pvt_val;
  struct CUdevWorkqueueResource_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3593
 *     cdef cydriver.CUdevWorkqueueResource_st* _pvt_ptr
 * 
 * cdef class CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st {
  PyObject_HEAD
  struct CU_DEV_SM_RESOURCE_GROUP_PARAMS_st _pvt_val;
  struct CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":3619
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_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;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *_wqConfig;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *_wq;
  size_t _nextResource_length;
  struct CUdevResource_st *_nextResource;
};


/* "cuda/bindings/driver.pxd":3653
 *     cdef cydriver.CUdevResource_st* _nextResource
 * 
 * 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":3669
 *     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":3707
 *     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":3721
 *     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":3735
 *     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":3749
 *     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":3763
 *     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":3775
 *     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":3789
 *     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":3808
 *     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":3827
 *     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":3843
 *     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":3859
 *     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":3875
 *     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":3891
 *     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":3922
 *     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":3953
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st):             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters  Used in the legacy
*/
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":3976
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters  Used in the legacy
*/
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":3999
 *     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":4021
 *     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":4040
 *     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":4074
 *     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":4108
 *     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":4144
 *     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":4180
 *     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":4214
 *     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":4254
 *     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":4294
 *     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":4334
 *     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":4360
 *     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":4386
 *     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":4414
 *     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":4432
 *     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":4450
 *     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":4468
 *     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":4509
 *     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":4531
 *     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":4555
 *     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":4642
 *     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":4660
 *     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":4694
 *     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":4781
 *     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":4868
 *     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":4955
 *     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":5042
 *     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":5058
 *     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":5074
 *     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":5092
 *     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":5110
 *     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":5128
 *     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":5149
 *     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":5169
 *     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":5215
 *     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":5261
 *     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":5326
 *     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":5391
 *     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":5457
 *     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":5523
 *     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":5545
 *     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":5567
 *     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":5589
 *     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":5615
 *     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":5641
 *     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":5666
 *     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":5691
 *     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":5711
 *     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":5731
 *     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":5751
 *     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":5771
 *     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":5805
 *     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":5839
 *     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":5871
 *     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":5903
 *     pass
 * 
 * cdef class CUtensorMap(CUtensorMap_st):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap {
  struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":5920
 *     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":5938
 *     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":5956
 *     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":5990
 *     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":6024
 *     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":6048
 *     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":6072
 *     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":6094
 *     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":6116
 *     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":6139
 *     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":6162
 *     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":6184
 *     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":6206
 *     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":6233
 *     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":6260
 *     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":6287
 *     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":6314
 *     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":6335
 *     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":6356
 *     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":6377
 *     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":6398
 *     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":6419
 *     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":6440
 *     pass
 * 
 * cdef class CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUmemGenericAllocationHandle {
  PyObject_HEAD
  CUmemGenericAllocationHandle _pvt_val;
  CUmemGenericAllocationHandle *_pvt_ptr;
};


/* "cuda/bindings/driver.pxd":6452
 *     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":6489
 *     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":6526
 *     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":6544
 *     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":6562
 *     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":6590
 *     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":6618
 *     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":6643
 *     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":6668
 *     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":6686
 *     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":6704
 *     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":6727
 *     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":6750
 *     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":6784
 *     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":6818
 *     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":6834
 *     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":6850
 *     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":6876
 *     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":6902
 *     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":6922
 *     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":6942
 *     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":6962
 *     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":6982
 *     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":7000
 *     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":7018
 *     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":7041
 *     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":7064
 *     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":7092
 *     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":7120
 *     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":7148
 *     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":7164
 *     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":7186
 *     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":7202
 *     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":7218
 *     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":7266
 *     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":7287
 *     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":7303
 *     pass
 * 
 * cdef class CUcheckpointGpuPair(CUcheckpointGpuPair_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA checkpoint GPU UUID pairs for device remapping during restore
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7321
 *     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":7344
 *     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":7360
 *     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":7398
 *     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":7423
 *     pass
 * 
 * cdef class CUdevWorkqueueConfigResource(CUdevWorkqueueConfigResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7441
 *     pass
 * 
 * cdef class CUdevWorkqueueResource(CUdevWorkqueueResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7455
 *     pass
 * 
 * cdef class CU_DEV_SM_RESOURCE_GROUP_PARAMS(CU_DEV_SM_RESOURCE_GROUP_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS {
  struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st __pyx_base;
};


/* "cuda/bindings/driver.pxd":7480
 *     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":7508
 *     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":7536
 *     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":7572
 *     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":7608
 *     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":7620
 *     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":7632
 *     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":7646
 *     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":7660
 *     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":7674
 *     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":7688
 *     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":7700
 *     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":7712
 *     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":7724
 *     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":7736
 *     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":7748
 *     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":7760
 *     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":7772
 *     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":7784
 *     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":47920
 * 
 * 
 * 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":358
 *     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":375
 *     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":415
 *     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":434
 *     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":453
 *     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":472
 *     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":485
 *     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":505
 *     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":520
 *     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":534
 *     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 CUatomicOperation(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":555
 *     CU_ATOMIC_OPERATION_MAX = cydriver.CUatomicOperation_enum.CU_ATOMIC_OPERATION_MAX
 * 
 * _dict_CUatomicOperation = dict(((int(v), v) for k, v in CUatomicOperation.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUatomicOperationCapability(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":569
 * 
 * 
 * _dict_CUatomicOperationCapability = dict(((int(v), v) for k, v in CUatomicOperationCapability.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(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":605
 *     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_12_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":623
 *     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_13_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":653
 *     CU_STREAM_MEM_OP_ATOMIC_REDUCTION = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_ATOMIC_REDUCTION
 * 
 * _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_14_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":666
 *     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 CUstreamAtomicReductionOpType(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":683
 *     CU_STREAM_ATOMIC_REDUCTION_OP_OR = cydriver.CUstreamAtomicReductionOpType_enum.CU_STREAM_ATOMIC_REDUCTION_OP_OR
 * 
 * _dict_CUstreamAtomicReductionOpType = dict(((int(v), v) for k, v in CUstreamAtomicReductionOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAtomicReductionDataType(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":693
 * 
 * 
 * _dict_CUstreamAtomicReductionDataType = dict(((int(v), v) for k, v in CUstreamAtomicReductionDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(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":707
 *     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_18_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":720
 *     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_19_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":730
 *     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_20_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":950
 *     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_21_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":969
 *     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_22_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":982
 *     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_23_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1509
 *     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_24_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1594
 *     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_25_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1724
 *     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_26_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1743
 *     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_27_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1759
 *     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_28_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1776
 *     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_29_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1795
 *     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_30_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1813
 *     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_31_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1840
 *     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_32_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":1873
 *     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_33_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2123
 *     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_34_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2231
 *     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_35_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2245
 *     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_36_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2261
 *     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_37_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2297
 *     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_38_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2309
 *     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_39_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2319
 *     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_40_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2344
 *     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_41_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2387
 *     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_42_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2406
 *     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_43_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2423
 *     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_44_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2444
 *     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_45_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2518
 *     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_46_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2536
 *     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_47_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2565
 *     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_48_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2576
 *     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_49_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2594
 *     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_50_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2624
 *     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_51_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2821
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _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_52_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2839
 *     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_53_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2851
 *     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_54_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2868
 *     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_55_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2885
 *     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_56_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2896
 *     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_57_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2907
 *     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_58_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":2929
 *     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_59_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3427
 *     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_60_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3453
 *     CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_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_61_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3565
 *     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_62_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3588
 *     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_63_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3598
 *     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_64_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3612
 *     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_65_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3623
 *     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_66_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3632
 *     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_67_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3641
 *     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_68_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3662
 *     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_69_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3696
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD
 * 
 * _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_70_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3735
 *     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_71_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3759
 *     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_72_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3776
 *     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_73_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3801
 *     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_74_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3817
 *     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_75_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3831
 *     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_76_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3840
 *     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_77_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3850
 *     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_78_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3859
 *     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_79_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3868
 *     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_80_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3876
 *     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_81_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3889
 *     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_82_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3902
 *     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_83_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3941
 *     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_84_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":3990
 *     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_85_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4003
 *     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_86_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4038
 *     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_87_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4053
 *     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_88_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4078
 *     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_89_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4101
 *     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_90_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4118
 *     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_91_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4138
 *     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_92_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4152
 *     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_93_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4163
 *     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_94_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4218
 *     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_95_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4229
 *     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_96_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4240
 *     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_97_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4265
 *     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_98_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4279
 *     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_99_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4300
 *     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_100_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4313
 *     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_101_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4332
 *     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_102_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4342
 *     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_103_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4357
 *     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_104_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4373
 *     CU_COREDUMP_GZIP_COMPRESS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_GZIP_COMPRESS
 * 
 * _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_105_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4383
 *     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 CUdevSmResourceGroup_flags(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":4392
 *     CU_DEV_SM_RESOURCE_GROUP_BACKFILL = cydriver.CUdevSmResourceGroup_flags.CU_DEV_SM_RESOURCE_GROUP_BACKFILL
 * 
 * _dict_CUdevSmResourceGroup_flags = dict(((int(v), v) for k, v in CUdevSmResourceGroup_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevSmResourceSplitByCount_flags(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":4401
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplitByCount_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
 * _dict_CUdevSmResourceSplitByCount_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplitByCount_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(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":4418
 *     CU_DEV_RESOURCE_TYPE_WORKQUEUE = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_WORKQUEUE
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevWorkqueueConfigScope(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":4433
 *     CU_WORKQUEUE_SCOPE_GREEN_CTX_BALANCED = cydriver.CUdevWorkqueueConfigScope.CU_WORKQUEUE_SCOPE_GREEN_CTX_BALANCED
 * 
 * _dict_CUdevWorkqueueConfigScope = dict(((int(v), v) for k, v in CUdevWorkqueueConfigScope.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlogLevel(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":4442
 *     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_111_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4455
 *     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_112_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4468
 *     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_113_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4491
 *     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_114_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4951
 *     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_115_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4969
 *     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_116_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":4979
 *     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_117_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":5309
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _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_118_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":5506
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _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_119_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_v;
};


/* "cuda/bindings/driver.pyx":19238
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
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":21371
 *     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_121_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21718
 *     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_122_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21784
 *     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_123_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":21853
 *     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_124_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":22107
 *     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_125_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":22111
 *     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_126_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":22203
 *     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_127_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":22207
 *     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_128_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26009
 *         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_129_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26012
 *         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_130_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26014
 *     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_131_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26017
 *         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_132_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26020
 *         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_133_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":26178
 *     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_134_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":28138
 *     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_135_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":28245
 *     """
 *     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_136_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":28843
 *     """
 *     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_137_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":30610
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
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":30613
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
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":30615
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
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":30618
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = 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":30711
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
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":30714
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = 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":30817
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
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":30820
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
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":30822
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
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":30825
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
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":31082
 *     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_148_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31084
 *     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_149_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31230
 *     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_150_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31925
 *     """
 *     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_151_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":31928
 *         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_152_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":32292
 *     """
 *     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_153_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":32295
 *         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_154_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33644
 *     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_155_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33647
 *         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_156_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33771
 *     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_157_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":33774
 *         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_158_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":34143
 *     """
 *     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_159_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":35289
 *     """
 *     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_160_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36056
 *     """
 *     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_161_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36225
 *     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_162_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36375
 *     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_163_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36515
 *     """
 *     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_164_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36666
 *     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_165_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36776
 *     """
 *     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_166_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":36851
 *     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_167_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37007
 *     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_168_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37154
 *     """
 *     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":37302
 *     """
 *     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_170_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37453
 *     """
 *     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":37710
 *     """
 *     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_172_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":37844
 *     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_173_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38756
 *     """
 *     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_174_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38759
 *         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_175_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38762
 *         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_176_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38852
 *     """
 *     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_177_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38855
 *         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_178_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":38858
 *         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_179_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":40723
 *     """
 *     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_180_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":40726
 *         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_181_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43397
 *     """
 *     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_182_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43400
 *         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_183_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43403
 *         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_184_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43406
 *         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_185_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43732
 *     """
 *     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_186_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43751
 *     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_187_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43754
 *         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_188_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43757
 *         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_189_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":43760
 *         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_190_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":44063
 *     """
 *     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_191_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":44082
 *     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_192_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":44085
 *         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_193_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":44474
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/bindings/driver.pyx":46060
 *     """
 *     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_195_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 (used by PyObjectGetAttrStrNoError) */
#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 (used by PyErrFetchRestore) */
#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 (used by PyObjectGetAttrStrNoError) */
#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 (used by PyObjectGetAttrStrNoError) */
#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 (used by GetBuiltinName) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

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

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

/* PyObjectCall.proto (used by PyObjectFastCall) */
#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 (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectFastCall.proto (used by PyObjectCallNoArg) */
#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 (used by PyObjectCallMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);

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

/* PyObjectGetMethod.proto (used by PyObjectCallMethod0) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
#endif

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

/* RaiseNeedMoreValuesToUnpack.proto (used by UnpackTuple2) */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* RaiseTooManyValuesToUnpack.proto (used by UnpackItemEndCheck) */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* UnpackItemEndCheck.proto (used by UnpackTuple2) */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* RaiseNoneIterError.proto (used by UnpackTupleError) */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

/* UnpackTupleError.proto (used by UnpackTuple2) */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);

/* UnpackTuple2.proto (used by dict_iter) */
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 (used by pep479) */
#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 (used by SaveResetException) */
#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

/* PyTypeError_Check.proto */
#define __Pyx_PyExc_TypeError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_TypeError)

/* PyOverflowError_Check.proto */
#define __Pyx_PyExc_OverflowError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_OverflowError)

/* 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

/* PyIndexError_Check.proto */
#define __Pyx_PyExc_IndexError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_IndexError)

/* PyMemoryError_Check.proto */
#define __Pyx_PyExc_MemoryError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_MemoryError)

/* 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.export */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* TupleAndListFromArray.proto (used by fastcall) */
#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 (used by BytesEquals) */
#include <string.h>

/* BytesEquals.proto (used by UnicodeEquals) */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto (used by fastcall) */
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

/* py_dict_items.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);

/* CallCFunction.proto (used by CallUnboundCMethod0) */
#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 (used by CallUnboundCMethod0) */
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

/* CallUnboundCMethod0.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
#endif

/* py_dict_values.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);

/* OwnedDictNext.proto (used by ParseKeywordsImpl) */
#if CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue);
#else
CYTHON_INLINE
static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue);
#endif

/* RaiseDoubleKeywords.proto (used by ParseKeywordsImpl) */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywordsImpl.export */
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
);
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name
);
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
);

/* 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

/* 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
);

/* 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 (used by GetModuleGlobalName) */
#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_XNewRef(__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

/* PyRuntimeError_Check.proto */
#define __Pyx_PyExc_RuntimeError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_RuntimeError)

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck, unsafe_shared) :\
    (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, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (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, int unsafe_shared);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (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, int unsafe_shared);
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, int unsafe_shared);

/* 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.export */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds);

/* DictGetItem.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name)\
    (likely(PyDict_CheckExact(obj)) ?\
     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
#else
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
#endif

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* AssertionsEnabled.proto */
#if CYTHON_COMPILING_IN_LIMITED_API  ||  PY_VERSION_HEX >= 0x030C0000
  static int __pyx_assertions_enabled_flag;
  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
  #if __clang__ || __GNUC__
  __attribute__((no_sanitize("thread")))
  #endif
  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

/* PyAssertionError_Check.proto */
#define __Pyx_PyExc_AssertionError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_AssertionError)

/* PyRange_Check.proto */
#if CYTHON_COMPILING_IN_PYPY && !defined(PyRange_Check)
  #define PyRange_Check(obj)  __Pyx_TypeCheck((obj), &PyRange_Type)
#endif

/* pyint_simplify.proto */
static CYTHON_INLINE int __Pyx_PyInt_FromNumber(PyObject **number_var, const char *argname, int accept_none);

/* 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, unsafe_shared) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, unsafe_shared, __pyx_refnanny)
    #else
        #define __Pyx_PyUnicode_ConcatInPlace(left, right, unsafe_shared) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, unsafe_shared)
    #endif
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_DefinitelyUnique)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_OwnStrongReference)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_DefinitelyUnique)
    #define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace(left, right) __Pyx_PyUnicode_ConcatInPlace(left, right, __Pyx_ReferenceSharing_SharedReference)
    static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right, int unsafe_shared
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    );
#else
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace __Pyx_PyUnicode_Concat
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace __Pyx_PyUnicode_Concat
#endif
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_DefinitelyUniqueInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_FunctionArgumentInPlace(left, right))
#define __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlaceSafe(left, right)\
    ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_SharedReferenceInPlace(left, right))

/* KeywordStringCheck.proto */
static CYTHON_INLINE int __Pyx_CheckKeywordStrings(const char* function_name, PyObject *kw);

/* PyUnicode_Unicode.proto */
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);

/* PyNumber_Hex.proto */
#define __Pyx_PyNumber_Hex(obj) PyNumber_ToBase((obj), 16)

/* PyValueError_Check.proto */
#define __Pyx_PyExc_ValueError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ValueError)

/* 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

/* ArgTypeTestFunc.export */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* 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))

/* ErrOccurredWithGIL.proto */
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void);

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
#if !CYTHON_USE_TYPE_SLOTS
#define  __Pyx_PySequence_Multiply PySequence_Repeat
#else
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);
#endif

/* 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

/* HasAttr.proto (used by ImportImpl) */
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_HasAttr(o, n)  PyObject_HasAttrWithError(o, n)
#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
#endif

/* ImportImpl.export */
static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level);

/* Import.proto */
static CYTHON_INLINE PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* dict_setdefault.proto (used by FetchCommonType) */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value);

/* LimitedApiGetTypeDict.proto (used by SetItemOnTypeDict) */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
#endif

/* SetItemOnTypeDict.proto (used by FixUpExtensionType) */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)

/* FixUpExtensionType.proto (used by FetchCommonType) */
static CYTHON_INLINE int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);

/* AddModuleRef.proto (used by FetchSharedCythonModule) */
#if ((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING ) ||\
     __PYX_LIMITED_VERSION_HEX < 0x030d0000)
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name);
#else
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#endif

/* FetchSharedCythonModule.proto (used by FetchCommonType) */
static PyObject *__Pyx_FetchSharedCythonABIModule(void);

/* FetchCommonType.proto (used by CommonTypesMetaclass) */
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);

/* CommonTypesMetaclass.proto (used by CythonFunctionShared) */
static int __pyx_CommonTypesMetaclass_init(PyObject *module);
#define __Pyx_CommonTypesMetaclass_USED

/* CallTypeTraverse.proto (used by CythonFunctionShared) */
#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 (used by CythonFunctionShared) */
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);

/* PyVectorcallFastCallDict.proto (used by CythonFunctionShared) */
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
#endif

/* CythonFunctionShared.proto (used by CythonFunction) */
#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_COMPILING_IN_LIMITED_API && CYTHON_METH_FASTCALL
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_dict;
#endif
    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_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);

/* AllocateExtensionType.proto */
static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final);

/* DefaultPlacementNew.proto */
#include <new>
template<typename T>
void __Pyx_default_placement_construct(T* x) {
    new (static_cast<void*>(x)) T();
}

/* CheckTypeForFreelists.proto */
#if CYTHON_USE_FREELISTS
#if CYTHON_USE_TYPE_SPECS
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t) == (expected_tp)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  Py_TPFLAGS_IS_ABSTRACT
#else
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t)->tp_basicsize == (expected_size)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)
#endif
#define __PYX_CHECK_TYPE_FOR_FREELISTS(t, expected_tp, expected_size)\
    (__PYX_CHECK_FINAL_TYPE_FOR_FREELISTS((t), (expected_tp), (expected_size)) &\
     (int) (!__Pyx_PyType_HasFeature((t), __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS)))
#endif

/* ValidateBasesTuple.proto (used by PyType_Ready) */
#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 (used by SetupReduce) */
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_2_4
#define __PYX_HAVE_RT_ImportType_proto_3_2_4
#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_2_4(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_2_4(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_2_4 {
   __Pyx_ImportType_CheckSize_Error_3_2_4 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_2_4 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_2_4 = 2
};
static PyTypeObject *__Pyx_ImportType_3_2_4(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_2_4 check_size);
#endif

/* FunctionImport.proto */
static int __Pyx_ImportFunction_3_2_4(PyObject *module, const char *funcname, void (**f)(void), const char *sig);

/* GetAttr.proto (used by Globals) */
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 (used by Py3ClassCreate) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyObjectLookupSpecial.proto (used by Py3ClassCreate) */
#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 (used by AddTraceback) */
#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 (used by AddTraceback) */
#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__CUatomicOperation_enum(enum CUatomicOperation_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__CUstreamAtomicReductionOpType_enum(enum CUstreamAtomicReductionOpType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_enum__CUstreamAtomicReductionDataType_enum(enum CUstreamAtomicReductionDataType_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_CUdevSmResourceGroup_flags(CUdevSmResourceGroup_flags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevSmResourceSplitByCount_flags(CUdevSmResourceSplitByCount_flags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevResourceType(CUdevResourceType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_CUdevWorkqueueConfigScope(CUdevWorkqueueConfigScope 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 CUstreamAtomicReductionOpType_enum __Pyx_PyLong_As_enum__CUstreamAtomicReductionOpType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUstreamAtomicReductionDataType_enum __Pyx_PyLong_As_enum__CUstreamAtomicReductionDataType_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 CUdevWorkqueueConfigScope __Pyx_PyLong_As_CUdevWorkqueueConfigScope(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 CUatomicOperation_enum __Pyx_PyLong_As_enum__CUatomicOperation_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 *);

/* GetRuntimeVersion.proto */
#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
static unsigned long __Pyx_cached_runtime_version = 0;
static void __Pyx_init_runtime_version(void);
#else
#define __Pyx_init_runtime_version()
#endif
static unsigned long __Pyx_get_runtime_version(void);

/* SwapException.proto (used by CoroutineBase) */
#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 (used by CoroutineBase) */
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 (used by CoroutineBase) */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* ReturnWithStopIteration.proto (used by CoroutineBase) */
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext);

/* CoroutineBase.proto (used by Generator) */
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;
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *gi_weakreflist;
#endif
    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);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);

/* DecompressString.proto */
static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo);

/* 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_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_cuDeviceGetHostAtomicCapabilities)(unsigned int *, CUatomicOperation const *, unsigned int, 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 *, 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_cuCtxGetDevice_v2)(CUdevice *, CUcontext); /*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_cuCtxSynchronize_v2)(CUcontext); /*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, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DBatchAsync)(size_t, CUDA_MEMCPY3D_BATCH_OP *, 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_cuMemGetDefaultMemPool)(CUmemoryPool *, CUmemLocation *, CUmemAllocationType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemGetMemPool)(CUmemoryPool *, CUmemLocation *, CUmemAllocationType); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemSetMemPool)(CUmemLocation *, CUmemAllocationType, 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_cuMulticastBindMem_v2)(CUmemGenericAllocationHandle, CUdevice, 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_cuMulticastBindAddr_v2)(CUmemGenericAllocationHandle, CUdevice, 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, CUmemLocation, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise)(CUdeviceptr, size_t, CUmem_advise, CUmemLocation); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchBatchAsync)(CUdeviceptr *, size_t *, size_t, CUmemLocation *, size_t *, size_t, unsigned PY_LONG_LONG, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemDiscardBatchAsync)(CUdeviceptr *, size_t *, size_t, unsigned PY_LONG_LONG, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuMemDiscardAndPrefetchBatchAsync)(CUdeviceptr *, size_t *, size_t, CUmemLocation *, size_t *, size_t, unsigned PY_LONG_LONG, CUstream); /*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 **, CUgraphEdgeData const **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamUpdateCaptureDependencies)(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_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_cuGraphNodeGetContainingGraph)(CUgraphNode, CUgraph *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetLocalId)(CUgraphNode, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetToolsId)(CUgraphNode, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphGetId)(CUgraph, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetId)(CUgraphExec, unsigned int *); /*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 *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphAddDependencies)(CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuGraphRemoveDependencies)(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 *, 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_cuDeviceGetP2PAtomicCapabilities)(unsigned int *, CUatomicOperation const *, unsigned int, 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_cuDevSmResourceSplit)(CUdevResource *, unsigned int, CUdevResource const *, CUdevResource *, unsigned int, CU_DEV_SM_RESOURCE_GROUP_PARAMS *); /*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_cuGreenCtxGetId)(CUgreenCtx, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevResource)(CUstream, CUdevResource *, CUdevResourceType); /*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<CUatomicOperation>  __pyx_convert_vector_from_py_CUatomicOperation(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_zip;
static PyObject *__pyx_builtin_enumerate;
/* #### Code section: string_decls ### */
static const char __pyx_k_not_enough_values_found_during_a[] = "not enough values found during array assignment, expected %zd, got %zd";
static const char __pyx_k_too_many_values_found_during_arr[] = "too many values found during array assignment, expected %zd";
/* #### Code section: decls ### */
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_pf_4cuda_8bindings_6driver_1290genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1293genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1296genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1299genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1302genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1305genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1308genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1311genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1314genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_1317genexpr(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__cuda_stream__(struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_8CUstream_20__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_37CUstreamMemOpAtomicReductionParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_reductionOp); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_dataType); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_alias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_15atomicReduction___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_atomicReduction); /* 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_27nvlinkUtilCentricScheduling___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, unsigned int __pyx_v_nvlinkUtilCentricScheduling); /* 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_22CUcheckpointGpuPair_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_oldUuid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_newUuid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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__(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__(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_8gpuPairs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, unsigned int __pyx_v_gpuPairsCount); /* 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_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* 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_18minSmPartitionSize___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_minSmPartitionSize); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCoscheduledAlignment); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_flags); /* 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_31CUdevWorkqueueConfigResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, unsigned int __pyx_v_wqConcurrencyLimit); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, PyObject *__pyx_v_sharingScope); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_smCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_coscheduledSmCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_preferredCoscheduledSmCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_8wqConfig___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *__pyx_v_wqConfig); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2wq___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2wq_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *__pyx_v_wq); /* 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_12nextResource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v_val); /* 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_16cuDeviceGetLuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_18cuDeviceTotalMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_20cuDeviceGetTexture1DLinearMaxWidth(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_22cuDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuDeviceGetHostAtomicCapabilities_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetHostAtomicCapabilities(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_operations, unsigned int __pyx_v_count, 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, 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_54cuCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_56cuCtxPushCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_58cuCtxPopCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_60cuCtxSetCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_62cuCtxGetCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_64cuCtxGetDevice(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_66cuCtxGetDevice_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_68cuCtxGetFlags(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_70cuCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_72cuCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_74cuCtxSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_76cuCtxSynchronize_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* 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_370cuMemGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_372cuMemGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_374cuMemSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename, PyObject *__pyx_v_pool); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_376cuMemAllocFromPoolAsync(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_378cuMemPoolExportToShareableHandle(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_380cuMemPoolImportFromShareableHandle(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_382cuMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_384cuMemPoolImportPointer(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_386cuMulticastCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmulticastObjectProp *__pyx_v_prop); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_388cuMulticastAddDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_390cuMulticastBindMem(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_392cuMulticastBindMem_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, 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_394cuMulticastBindAddr(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_396cuMulticastBindAddr_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, 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_398cuMulticastUnbind(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_400cuMulticastGetGranularity(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_402cuPointerGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_404cuMemPrefetchAsync(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_406cuMemAdvise(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_23cuMemPrefetchBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_408cuMemPrefetchBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_prefetchLocs, PyObject *__pyx_v_prefetchLocIdxs, size_t __pyx_v_numPrefetchLocs, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_410cuMemDiscardBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_412cuMemDiscardAndPrefetchBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_prefetchLocs, PyObject *__pyx_v_prefetchLocIdxs, size_t __pyx_v_numPrefetchLocs, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_414cuMemRangeGetAttribute(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_416cuMemRangeGetAttributes(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_418cuPointerSetAttribute(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_420cuPointerGetAttributes(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_422cuStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_424cuStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_426cuStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_428cuStreamGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_430cuStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_432cuStreamGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_434cuStreamGetCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_436cuStreamGetCtx_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_438cuStreamWaitEvent(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_440cuStreamAddCallback(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_442cuStreamBeginCapture(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_444cuStreamBeginCaptureToGraph(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_446cuThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_448cuStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_450cuStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_452cuStreamGetCaptureInfo(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_33cuStreamUpdateCaptureDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_454cuStreamUpdateCaptureDependencies(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_456cuStreamAttachMemAsync(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_458cuStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_460cuStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_462cuStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_464cuStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_466cuStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_468cuStreamSetAttribute(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_470cuEventCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_472cuEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_474cuEventRecordWithFlags(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_476cuEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_478cuEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_480cuEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_482cuEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_484cuImportExternalMemory(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_486cuExternalMemoryGetMappedBuffer(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_488cuExternalMemoryGetMappedMipmappedArray(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_490cuDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_492cuImportExternalSemaphore(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_494cuSignalExternalSemaphoresAsync(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_496cuWaitExternalSemaphoresAsync(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_498cuDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_500cuStreamWaitValue32(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_502cuStreamWaitValue64(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_504cuStreamWriteValue32(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_506cuStreamWriteValue64(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_508cuStreamBatchMemOp(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_510cuFuncGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_512cuFuncSetAttribute(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_514cuFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_516cuFuncGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_518cuFuncGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_520cuFuncGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, size_t __pyx_v_paramIndex); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_522cuFuncIsLoaded(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_524cuFuncLoad(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_526cuLaunchKernel(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_528cuLaunchKernelEx(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_530cuLaunchCooperativeKernel(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_532cuLaunchCooperativeKernelMultiDevice(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_534cuLaunchHostFunc(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_536cuFuncSetBlockShape(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_538cuFuncSetSharedSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_540cuParamSetSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_542cuParamSeti(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_544cuParamSetf(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_546cuParamSetv(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_548cuLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_550cuLaunchGrid(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_552cuLaunchGridAsync(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_554cuParamSetTexRef(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_556cuFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_558cuGraphCreate(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_560cuGraphAddKernelNode(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_562cuGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_564cuGraphKernelNodeSetParams(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_566cuGraphAddMemcpyNode(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_568cuGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_570cuGraphMemcpyNodeSetParams(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_572cuGraphAddMemsetNode(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_574cuGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_576cuGraphMemsetNodeSetParams(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_578cuGraphAddHostNode(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_580cuGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_582cuGraphHostNodeSetParams(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_584cuGraphAddChildGraphNode(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_586cuGraphChildGraphNodeGetGraph(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_588cuGraphAddEmptyNode(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_590cuGraphAddEventRecordNode(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_592cuGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_594cuGraphEventRecordNodeSetEvent(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_596cuGraphAddEventWaitNode(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_598cuGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_600cuGraphEventWaitNodeSetEvent(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_602cuGraphAddExternalSemaphoresSignalNode(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_604cuGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresSignalNodeSetParams(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_608cuGraphAddExternalSemaphoresWaitNode(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_610cuGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_612cuGraphExternalSemaphoresWaitNodeSetParams(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_614cuGraphAddBatchMemOpNode(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_616cuGraphBatchMemOpNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_618cuGraphBatchMemOpNodeSetParams(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_620cuGraphExecBatchMemOpNodeSetParams(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_622cuGraphAddMemAllocNode(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_624cuGraphMemAllocNodeGetParams(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_626cuGraphAddMemFreeNode(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_628cuGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_630cuDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_632cuDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_634cuDeviceSetGraphMemAttribute(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_636cuGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_638cuGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hOriginalNode, PyObject *__pyx_v_hClonedGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_640cuGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_642cuGraphNodeGetContainingGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_644cuGraphNodeGetLocalId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_646cuGraphNodeGetToolsId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_648cuGraphGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_650cuGraphExecGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_652cuGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_654cuGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numRootNodes); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_656cuGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_658cuGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_660cuGraphNodeGetDependentNodes(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_22cuGraphAddDependencies_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_662cuGraphAddDependencies(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_25cuGraphRemoveDependencies_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_664cuGraphRemoveDependencies(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_666cuGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_668cuGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_670cuGraphInstantiateWithParams(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_672cuGraphExecGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_674cuGraphExecKernelNodeSetParams(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_676cuGraphExecMemcpyNodeSetParams(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_678cuGraphExecMemsetNodeSetParams(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_680cuGraphExecHostNodeSetParams(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_682cuGraphExecChildGraphNodeSetParams(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_684cuGraphExecEventRecordNodeSetEvent(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_686cuGraphExecEventWaitNodeSetEvent(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_688cuGraphExecExternalSemaphoresSignalNodeSetParams(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_690cuGraphExecExternalSemaphoresWaitNodeSetParams(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_692cuGraphNodeSetEnabled(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_694cuGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_696cuGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_698cuGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_700cuGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_702cuGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_704cuGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_706cuGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_708cuGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_710cuGraphKernelNodeSetAttribute(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_712cuGraphDebugDotPrint(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_714cuUserObjectCreate(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_716cuUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_718cuUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_720cuGraphRetainUserObject(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_722cuGraphReleaseUserObject(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_14cuGraphAddNode_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_724cuGraphAddNode(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_726cuGraphNodeSetParams(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_728cuGraphExecNodeSetParams(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_730cuGraphConditionalHandleCreate(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_732cuOccupancyMaxActiveBlocksPerMultiprocessor(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_734cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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_736cuOccupancyMaxPotentialBlockSize(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_738cuOccupancyMaxPotentialBlockSizeWithFlags(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_740cuOccupancyAvailableDynamicSMemPerBlock(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_742cuOccupancyMaxPotentialClusterSize(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_744cuOccupancyMaxActiveClusters(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_746cuTexRefSetArray(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_748cuTexRefSetMipmappedArray(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_750cuTexRefSetAddress(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_752cuTexRefSetAddress2D(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_754cuTexRefSetFormat(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_756cuTexRefSetAddressMode(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_758cuTexRefSetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_760cuTexRefSetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_762cuTexRefSetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_bias); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_764cuTexRefSetMipmapLevelClamp(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_766cuTexRefSetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_maxAniso); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_768cuTexRefSetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_pBorderColor); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_770cuTexRefSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_772cuTexRefGetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_774cuTexRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_776cuTexRefGetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_778cuTexRefGetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_780cuTexRefGetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_782cuTexRefGetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_784cuTexRefGetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_786cuTexRefGetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_788cuTexRefGetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_790cuTexRefGetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_792cuTexRefGetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_794cuTexRefGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_796cuTexRefCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_798cuTexRefDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_800cuSurfRefSetArray(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_802cuSurfRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_804cuTexObjectCreate(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_806cuTexObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_808cuTexObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_810cuTexObjectGetTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_812cuTexObjectGetResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_814cuSurfObjectCreate(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_816cuSurfObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_818cuSurfObjectGetResourceDesc(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_820cuTensorMapEncodeTiled(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_822cuTensorMapEncodeIm2col(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_824cuTensorMapEncodeIm2colWide(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_826cuTensorMapReplaceAddress(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_828cuDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_peerDev); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_830cuCtxEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_832cuCtxDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_834cuDeviceGetP2PAttribute(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_32cuDeviceGetP2PAtomicCapabilities_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_836cuDeviceGetP2PAtomicCapabilities(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_operations, unsigned int __pyx_v_count, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_838cuGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_840cuGraphicsSubResourceGetMappedArray(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_842cuGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_844cuGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_846cuGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_848cuGraphicsMapResources(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_850cuGraphicsUnmapResources(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_852cuGetProcAddress(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_854cuCoredumpGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_856cuCoredumpGetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_858cuCoredumpSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_860cuCoredumpSetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_862cuGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_pExportTableId); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_864cuGreenCtxCreate(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_866cuGreenCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_868cuCtxFromGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_870cuDeviceGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_872cuCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_874cuGreenCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_876cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_flags, unsigned int __pyx_v_minCount); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_878cuDevSmResourceSplit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_flags, struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS *__pyx_v_groupParams); /* 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_880cuDevResourceGenerateDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources, unsigned int __pyx_v_nbResources); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_882cuGreenCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_884cuGreenCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_886cuStreamGetGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_888cuGreenCtxStreamCreate(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_890cuGreenCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_greenCtx); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_892cuStreamGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_894cuLogsRegisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_896cuLogsUnregisterCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_898cuLogsCurrent(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_900cuLogsDumpToFile(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_902cuLogsDumpToMemory(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_904cuCheckpointProcessGetRestoreThreadId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_906cuCheckpointProcessGetState(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_pid); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_908cuCheckpointProcessLock(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_910cuCheckpointProcessCheckpoint(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_912cuCheckpointProcessRestore(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_914cuCheckpointProcessUnlock(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_916cuProfilerStart(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_918cuProfilerStop(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_920cuGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_922cuEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_924cuEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_926cuEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_928cuEGLStreamConsumerAcquireFrame(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_930cuEGLStreamConsumerReleaseFrame(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_932cuEGLStreamProducerConnect(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_934cuEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_936cuEGLStreamProducerPresentFrame(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_938cuEGLStreamProducerReturnFrame(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_940cuGraphicsResourceGetMappedEglFrame(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_942cuEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_944cuGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_946cuGraphicsGLRegisterImage(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_948cuGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_950cuVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_952cuVDPAUCtxCreate(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_954cuGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_8bindings_6driver_956cuGraphicsVDPAURegisterOutputSurface(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_958sizeof(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_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_195_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;
  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_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_CUcheckpointGpuPair;
  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_CUdevWorkqueueConfigResource;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource;
  PyObject *__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS;
  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;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr;
  PyObject *__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_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_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_CUcheckpointGpuPair;
  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_CUdevWorkqueueConfigResource;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS;
  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;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values;
  PyObject *__pyx_codeobj_tab[1288];
  PyObject *__pyx_string_tab[5265];
  PyObject *__pyx_number_tab[6];
/* #### 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

/* CythonFunctionShared.module_state_decls */
PyTypeObject *__pyx_CyFunctionType;


#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

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr[8];
int __pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_195_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

/* Generator.module_state_decls */
PyTypeObject *__pyx_GeneratorType;

/* #### 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_kp_u_Argument_attributes_is_not_insta __pyx_string_tab[2]
#define __pyx_kp_u_Argument_attributes_is_not_insta_2 __pyx_string_tab[3]
#define __pyx_kp_u_Argument_attrsIdxs_is_not_instan __pyx_string_tab[4]
#define __pyx_kp_u_Argument_attrs_is_not_instance_o __pyx_string_tab[5]
#define __pyx_kp_u_Argument_boxDim_is_not_instance __pyx_string_tab[6]
#define __pyx_kp_u_Argument_conn_is_not_instance_of __pyx_string_tab[7]
#define __pyx_kp_u_Argument_dataSizes_is_not_instan __pyx_string_tab[8]
#define __pyx_kp_u_Argument_dependencies_is_not_ins __pyx_string_tab[9]
#define __pyx_kp_u_Argument_dependencyData_is_not_i __pyx_string_tab[10]
#define __pyx_kp_u_Argument_desc_is_not_instance_of __pyx_string_tab[11]
#define __pyx_kp_u_Argument_dptrs_is_not_instance_o __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_operations_is_not_insta __pyx_string_tab[29]
#define __pyx_kp_u_Argument_options_is_not_instance __pyx_string_tab[30]
#define __pyx_kp_u_Argument_pCudaResource_is_not_in __pyx_string_tab[31]
#define __pyx_kp_u_Argument_pStream_is_not_instance __pyx_string_tab[32]
#define __pyx_kp_u_Argument_paramArray_is_not_insta __pyx_string_tab[33]
#define __pyx_kp_u_Argument_paramsArray_is_not_inst __pyx_string_tab[34]
#define __pyx_kp_u_Argument_paramsArray_is_not_inst_2 __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_prefetchLocIdxs_is_not __pyx_string_tab[38]
#define __pyx_kp_u_Argument_prefetchLocs_is_not_ins __pyx_string_tab[39]
#define __pyx_kp_u_Argument_resources_is_not_instan __pyx_string_tab[40]
#define __pyx_kp_u_Argument_resources_is_not_instan_2 __pyx_string_tab[41]
#define __pyx_kp_u_Argument_sizes_is_not_instance_o __pyx_string_tab[42]
#define __pyx_kp_u_Argument_srcs_is_not_instance_of __pyx_string_tab[43]
#define __pyx_kp_u_Argument_to_is_not_instance_of_t __pyx_string_tab[44]
#define __pyx_kp_u_Argument_vdpGetProcAddress_is_no __pyx_string_tab[45]
#define __pyx_kp_u_Array_formats __pyx_string_tab[46]
#define __pyx_kp_u_Array_indices_for_cube_faces __pyx_string_tab[47]
#define __pyx_kp_u_Atomic_reduction_data_types_for __pyx_string_tab[48]
#define __pyx_kp_u_Atomic_reduction_operation_type __pyx_string_tab[49]
#define __pyx_kp_u_Bitmasks_for_CU_DEVICE_ATTRIBUT __pyx_string_tab[50]
#define __pyx_kp_u_Bitmasks_for_py_obj_CU_DEVICE_A __pyx_string_tab[51]
#define __pyx_kp_u_CUDA_EGL_Color_Format_The_diffe __pyx_string_tab[52]
#define __pyx_kp_u_CUDA_EglFrame_type_array_or_poi __pyx_string_tab[53]
#define __pyx_kp_u_CUDA_Graph_Update_error_types __pyx_string_tab[54]
#define __pyx_kp_u_CUDA_Ipc_Mem_Flags __pyx_string_tab[55]
#define __pyx_kp_u_CUDA_Lazy_Loading_status __pyx_string_tab[56]
#define __pyx_kp_u_CUDA_Mem_Attach_Flags __pyx_string_tab[57]
#define __pyx_kp_u_CUDA_Process_States __pyx_string_tab[58]
#define __pyx_kp_u_CUDA_device_NUMA_configuration __pyx_string_tab[59]
#define __pyx_kp_u_CUDA_devices_corresponding_to_a __pyx_string_tab[60]
#define __pyx_kp_u_CUDA_memory_pool_attributes __pyx_string_tab[61]
#define __pyx_kp_u_CUDA_valid_Atomic_Operation_cap __pyx_string_tab[62]
#define __pyx_kp_u_CUDA_valid_Atomic_Operations __pyx_string_tab[63]
#define __pyx_kp_u_CUarray __pyx_string_tab[64]
#define __pyx_kp_u_CUasyncCallback __pyx_string_tab[65]
#define __pyx_kp_u_CUasyncCallbackHandle __pyx_string_tab[66]
#define __pyx_kp_u_CUcontext_2 __pyx_string_tab[67]
#define __pyx_kp_u_CUdevResourceDesc __pyx_string_tab[68]
#define __pyx_kp_u_CUdevice __pyx_string_tab[69]
#define __pyx_kp_u_CUdevice_v1 __pyx_string_tab[70]
#define __pyx_kp_u_CUdeviceptr_2 __pyx_string_tab[71]
#define __pyx_kp_u_CUdeviceptr_v2 __pyx_string_tab[72]
#define __pyx_kp_u_CUeglStreamConnection __pyx_string_tab[73]
#define __pyx_kp_u_CUevent __pyx_string_tab[74]
#define __pyx_kp_u_CUexternalMemory __pyx_string_tab[75]
#define __pyx_kp_u_CUexternalSemaphore __pyx_string_tab[76]
#define __pyx_kp_u_CUfunction __pyx_string_tab[77]
#define __pyx_kp_u_CUgraph __pyx_string_tab[78]
#define __pyx_kp_u_CUgraphConditionalHandle __pyx_string_tab[79]
#define __pyx_kp_u_CUgraphDeviceNode __pyx_string_tab[80]
#define __pyx_kp_u_CUgraphExec __pyx_string_tab[81]
#define __pyx_kp_u_CUgraphNode __pyx_string_tab[82]
#define __pyx_kp_u_CUgraphicsResource __pyx_string_tab[83]
#define __pyx_kp_u_CUgreenCtx __pyx_string_tab[84]
#define __pyx_kp_u_CUhostFn __pyx_string_tab[85]
#define __pyx_kp_u_CUkernel __pyx_string_tab[86]
#define __pyx_kp_u_CUlibrary __pyx_string_tab[87]
#define __pyx_kp_u_CUlinkState __pyx_string_tab[88]
#define __pyx_kp_u_CUlogIterator __pyx_string_tab[89]
#define __pyx_kp_u_CUlogsCallback __pyx_string_tab[90]
#define __pyx_kp_u_CUlogsCallbackHandle __pyx_string_tab[91]
#define __pyx_kp_u_CUmemGenericAllocationHandle __pyx_string_tab[92]
#define __pyx_kp_u_CUmemGenericAllocationHandle_v1 __pyx_string_tab[93]
#define __pyx_kp_u_CUmemoryPool_2 __pyx_string_tab[94]
#define __pyx_kp_u_CUmipmappedArray __pyx_string_tab[95]
#define __pyx_kp_u_CUmodule __pyx_string_tab[96]
#define __pyx_kp_u_CUoccupancyB2DSize __pyx_string_tab[97]
#define __pyx_kp_u_CUstream __pyx_string_tab[98]
#define __pyx_kp_u_CUstreamCallback __pyx_string_tab[99]
#define __pyx_kp_u_CUsurfObject __pyx_string_tab[100]
#define __pyx_kp_u_CUsurfObject_v1 __pyx_string_tab[101]
#define __pyx_kp_u_CUsurfref __pyx_string_tab[102]
#define __pyx_kp_u_CUtexObject __pyx_string_tab[103]
#define __pyx_kp_u_CUtexObject_v1 __pyx_string_tab[104]
#define __pyx_kp_u_CUtexref __pyx_string_tab[105]
#define __pyx_kp_u_CUuserObject __pyx_string_tab[106]
#define __pyx_kp_u_Caching_modes_for_dlcm __pyx_string_tab[107]
#define __pyx_kp_u_Child_graph_node_ownership __pyx_string_tab[108]
#define __pyx_kp_u_Cluster_scheduling_policies_The __pyx_string_tab[109]
#define __pyx_kp_u_Compute_Modes __pyx_string_tab[110]
#define __pyx_kp_u_Conditional_node_types __pyx_string_tab[111]
#define __pyx_kp_u_Context_creation_flags __pyx_string_tab[112]
#define __pyx_kp_u_Cubin_matching_fallback_strateg __pyx_string_tab[113]
#define __pyx_kp_u_Defines_the_allocation_types_av __pyx_string_tab[114]
#define __pyx_kp_u_Deprecated_Shared_memory_config __pyx_string_tab[115]
#define __pyx_kp_u_Depth __pyx_string_tab[116]
#define __pyx_kp_u_Depth_ValueError __pyx_string_tab[117]
#define __pyx_kp_u_Device_code_formats __pyx_string_tab[118]
#define __pyx_kp_u_Device_properties __pyx_string_tab[119]
#define __pyx_kp_u_EGLImageKHR __pyx_string_tab[120]
#define __pyx_kp_u_EGLStreamKHR __pyx_string_tab[121]
#define __pyx_kp_u_EGLSyncKHR __pyx_string_tab[122]
#define __pyx_kp_u_EGLint __pyx_string_tab[123]
#define __pyx_kp_u_Error_codes __pyx_string_tab[124]
#define __pyx_kp_u_Event_creation_flags __pyx_string_tab[125]
#define __pyx_kp_u_Event_record_flags __pyx_string_tab[126]
#define __pyx_kp_u_Event_sched_flags __pyx_string_tab[127]
#define __pyx_kp_u_Event_wait_flags __pyx_string_tab[128]
#define __pyx_kp_u_Execution_Affinity_Types __pyx_string_tab[129]
#define __pyx_kp_u_External_memory_handle_types __pyx_string_tab[130]
#define __pyx_kp_u_External_semaphore_handle_types __pyx_string_tab[131]
#define __pyx_kp_u_Failed_to_allocate_length_x_size __pyx_string_tab[132]
#define __pyx_kp_u_Failed_to_allocated_length_x_siz __pyx_string_tab[133]
#define __pyx_kp_u_Failed_to_retrieve_buffer_throug __pyx_string_tab[134]
#define __pyx_kp_u_Flag_for_requesting_different_o __pyx_string_tab[135]
#define __pyx_kp_u_Flag_for_requesting_handle_type __pyx_string_tab[136]
#define __pyx_kp_u_Flags __pyx_string_tab[137]
#define __pyx_kp_u_Flags_ValueError __pyx_string_tab[138]
#define __pyx_kp_u_Flags_for_choosing_a_coredump_a __pyx_string_tab[139]
#define __pyx_kp_u_Flags_for_controlling_coredump __pyx_string_tab[140]
#define __pyx_kp_u_Flags_for_instantiating_a_graph __pyx_string_tab[141]
#define __pyx_kp_u_Flags_for_mapping_and_unmapping __pyx_string_tab[142]
#define __pyx_kp_u_Flags_for_py_obj_CUstreamBatchM __pyx_string_tab[143]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamUpdate __pyx_string_tab[144]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamWaitVa __pyx_string_tab[145]
#define __pyx_kp_u_Flags_for_py_obj_cuStreamWriteV __pyx_string_tab[146]
#define __pyx_kp_u_Flags_for_querying_different_gr __pyx_string_tab[147]
#define __pyx_kp_u_Flags_for_retaining_user_object __pyx_string_tab[148]
#define __pyx_kp_u_Flags_for_specifying_particular __pyx_string_tab[149]
#define __pyx_kp_u_Flags_for_user_objects_for_grap __pyx_string_tab[150]
#define __pyx_kp_u_Flags_to_indicate_search_status __pyx_string_tab[151]
#define __pyx_kp_u_Flags_to_map_or_unmap_a_resourc __pyx_string_tab[152]
#define __pyx_kp_u_Flags_to_register_a_graphics_re __pyx_string_tab[153]
#define __pyx_kp_u_Flags_to_specify_for_copies_wit __pyx_string_tab[154]
#define __pyx_kp_u_Flags_to_specify_search_options __pyx_string_tab[155]
#define __pyx_kp_u_Format __pyx_string_tab[156]
#define __pyx_kp_u_Format_ValueError __pyx_string_tab[157]
#define __pyx_kp_u_Function_cache_configurations __pyx_string_tab[158]
#define __pyx_kp_u_Function_properties __pyx_string_tab[159]
#define __pyx_kp_u_GLenum __pyx_string_tab[160]
#define __pyx_kp_u_GLuint __pyx_string_tab[161]
#define __pyx_kp_u_Graph_instantiation_results __pyx_string_tab[162]
#define __pyx_kp_u_Graph_node_types __pyx_string_tab[163]
#define __pyx_kp_u_Height __pyx_string_tab[164]
#define __pyx_kp_u_Height_ValueError __pyx_string_tab[165]
#define __pyx_kp_u_Launch_attributes_enum_used_as __pyx_string_tab[166]
#define __pyx_kp_u_Library_options_to_be_specified __pyx_string_tab[167]
#define __pyx_kp_u_Limits __pyx_string_tab[168]
#define __pyx_kp_u_List_is_too_small __pyx_string_tab[169]
#define __pyx_kp_u_Memory_Synchronization_Domain_A __pyx_string_tab[170]
#define __pyx_kp_u_Memory_advise_values __pyx_string_tab[171]
#define __pyx_kp_u_Memory_handle_types __pyx_string_tab[172]
#define __pyx_kp_u_Memory_operation_types __pyx_string_tab[173]
#define __pyx_kp_u_Memory_types __pyx_string_tab[174]
#define __pyx_kp_u_NVCL_context_scheduling_flags __pyx_string_tab[175]
#define __pyx_kp_u_NVCL_event_scheduling_flags __pyx_string_tab[176]
#define __pyx_kp_u_None __pyx_string_tab[177]
#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[178]
#define __pyx_kp_u_NumChannels __pyx_string_tab[179]
#define __pyx_kp_u_NumChannels_ValueError __pyx_string_tab[180]
#define __pyx_kp_u_Occupancy_calculator_flag __pyx_string_tab[181]
#define __pyx_kp_u_Online_compilation_targets __pyx_string_tab[182]
#define __pyx_kp_u_Online_compiler_and_linker_opti __pyx_string_tab[183]
#define __pyx_kp_u_Operations_for_py_obj_cuStreamB __pyx_string_tab[184]
#define __pyx_kp_u_Optional_CUDA_ARRAY3D_DESCRIPTOR __pyx_string_tab[185]
#define __pyx_kp_u_Optional_CUDA_ARRAY_DESCRIPTOR __pyx_string_tab[186]
#define __pyx_kp_u_Optional_CUDA_BATCH_MEM_OP_NODE __pyx_string_tab[187]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_BU __pyx_string_tab[188]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_HA __pyx_string_tab[189]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_MEMORY_MI __pyx_string_tab[190]
#define __pyx_kp_u_Optional_CUDA_EXTERNAL_SEMAPHORE __pyx_string_tab[191]
#define __pyx_kp_u_Optional_CUDA_EXT_SEM_SIGNAL_NOD __pyx_string_tab[192]
#define __pyx_kp_u_Optional_CUDA_EXT_SEM_WAIT_NODE __pyx_string_tab[193]
#define __pyx_kp_u_Optional_CUDA_GRAPH_INSTANTIATE __pyx_string_tab[194]
#define __pyx_kp_u_Optional_CUDA_HOST_NODE_PARAMS __pyx_string_tab[195]
#define __pyx_kp_u_Optional_CUDA_KERNEL_NODE_PARAMS __pyx_string_tab[196]
#define __pyx_kp_u_Optional_CUDA_MEMCPY2D __pyx_string_tab[197]
#define __pyx_kp_u_Optional_CUDA_MEMCPY3D __pyx_string_tab[198]
#define __pyx_kp_u_Optional_CUDA_MEMCPY3D_PEER __pyx_string_tab[199]
#define __pyx_kp_u_Optional_CUDA_MEMSET_NODE_PARAMS __pyx_string_tab[200]
#define __pyx_kp_u_Optional_CUDA_MEM_ALLOC_NODE_PAR __pyx_string_tab[201]
#define __pyx_kp_u_Optional_CUDA_RESOURCE_DESC __pyx_string_tab[202]
#define __pyx_kp_u_Optional_CUDA_RESOURCE_VIEW_DESC __pyx_string_tab[203]
#define __pyx_kp_u_Optional_CUDA_TEXTURE_DESC __pyx_string_tab[204]
#define __pyx_kp_u_Optional_CU_DEV_SM_RESOURCE_GROU __pyx_string_tab[205]
#define __pyx_kp_u_Optional_CUcheckpointCheckpointA __pyx_string_tab[206]
#define __pyx_kp_u_Optional_CUcheckpointLockArgs __pyx_string_tab[207]
#define __pyx_kp_u_Optional_CUcheckpointRestoreArgs __pyx_string_tab[208]
#define __pyx_kp_u_Optional_CUcheckpointUnlockArgs __pyx_string_tab[209]
#define __pyx_kp_u_Optional_CUctxCreateParams __pyx_string_tab[210]
#define __pyx_kp_u_Optional_CUdevResource __pyx_string_tab[211]
#define __pyx_kp_u_Optional_CUeglFrame __pyx_string_tab[212]
#define __pyx_kp_u_Optional_CUgraphNodeParams __pyx_string_tab[213]
#define __pyx_kp_u_Optional_CUkernelNodeAttrValue __pyx_string_tab[214]
#define __pyx_kp_u_Optional_CUlaunchConfig __pyx_string_tab[215]
#define __pyx_kp_u_Optional_CUlogIterator __pyx_string_tab[216]
#define __pyx_kp_u_Optional_CUmemAllocationProp __pyx_string_tab[217]
#define __pyx_kp_u_Optional_CUmemDecompressParams __pyx_string_tab[218]
#define __pyx_kp_u_Optional_CUmemLocation __pyx_string_tab[219]
#define __pyx_kp_u_Optional_CUmemPoolProps __pyx_string_tab[220]
#define __pyx_kp_u_Optional_CUmemPoolPtrExportData __pyx_string_tab[221]
#define __pyx_kp_u_Optional_CUmulticastObjectProp __pyx_string_tab[222]
#define __pyx_kp_u_Optional_CUstreamAttrValue __pyx_string_tab[223]
#define __pyx_kp_u_Optional_CUtensorMap __pyx_string_tab[224]
#define __pyx_kp_u_Optional_CUuuid __pyx_string_tab[225]
#define __pyx_kp_u_Optional_tuple_Any_list_Any __pyx_string_tab[226]
#define __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM __pyx_string_tab[227]
#define __pyx_kp_u_Optional_tuple_CUDA_EXTERNAL_SEM_2 __pyx_string_tab[228]
#define __pyx_kp_u_Optional_tuple_CUDA_LAUNCH_PARAM __pyx_string_tab[229]
#define __pyx_kp_u_Optional_tuple_CUDA_MEMCPY3D_BAT __pyx_string_tab[230]
#define __pyx_kp_u_Optional_tuple_CUarrayMapInfo_li __pyx_string_tab[231]
#define __pyx_kp_u_Optional_tuple_CUatomicOperation __pyx_string_tab[232]
#define __pyx_kp_u_Optional_tuple_CUdevResource_lis __pyx_string_tab[233]
#define __pyx_kp_u_Optional_tuple_CUdeviceptr_list __pyx_string_tab[234]
#define __pyx_kp_u_Optional_tuple_CUexternalSemapho __pyx_string_tab[235]
#define __pyx_kp_u_Optional_tuple_CUgraphEdgeData_l __pyx_string_tab[236]
#define __pyx_kp_u_Optional_tuple_CUgraphNode_list __pyx_string_tab[237]
#define __pyx_kp_u_Optional_tuple_CUjit_option_list __pyx_string_tab[238]
#define __pyx_kp_u_Optional_tuple_CUlibraryOption_l __pyx_string_tab[239]
#define __pyx_kp_u_Optional_tuple_CUmemAccessDesc_l __pyx_string_tab[240]
#define __pyx_kp_u_Optional_tuple_CUmemLocation_lis __pyx_string_tab[241]
#define __pyx_kp_u_Optional_tuple_CUmem_range_attri __pyx_string_tab[242]
#define __pyx_kp_u_Optional_tuple_CUmemcpyAttribute __pyx_string_tab[243]
#define __pyx_kp_u_Optional_tuple_CUpointer_attribu __pyx_string_tab[244]
#define __pyx_kp_u_Optional_tuple_CUstreamBatchMemO __pyx_string_tab[245]
#define __pyx_kp_u_Optional_tuple_cuuint32_t_list_c __pyx_string_tab[246]
#define __pyx_kp_u_Optional_tuple_cuuint64_t_list_c __pyx_string_tab[247]
#define __pyx_kp_u_Optional_tuple_int_list_int __pyx_string_tab[248]
#define __pyx_kp_u_P2P_Attributes __pyx_string_tab[249]
#define __pyx_kp_u_Platform_native_ordering_for_GP __pyx_string_tab[250]
#define __pyx_kp_u_Pointer_information __pyx_string_tab[251]
#define __pyx_kp_u_Possible_modes_for_stream_captu __pyx_string_tab[252]
#define __pyx_kp_u_Possible_stream_capture_statuse __pyx_string_tab[253]
#define __pyx_kp_u_Profiler_Output_Modes __pyx_string_tab[254]
#define __pyx_kp_u_Provided_argument_is_of_type_but __pyx_string_tab[255]
#define __pyx_kp_u_Provided_argument_is_of_type_but_2 __pyx_string_tab[256]
#define __pyx_kp_u_Resource_location_flags_sysmem __pyx_string_tab[257]
#define __pyx_kp_u_Resource_types __pyx_string_tab[258]
#define __pyx_kp_u_Resource_view_format __pyx_string_tab[259]
#define __pyx_kp_u_SIMDWidth __pyx_string_tab[260]
#define __pyx_kp_u_SIMDWidth_ValueError __pyx_string_tab[261]
#define __pyx_kp_u_Shared_memory_carveout_configur __pyx_string_tab[262]
#define __pyx_kp_u_Sharing_scope_for_workqueues __pyx_string_tab[263]
#define __pyx_kp_u_Sparse_subresource_types __pyx_string_tab[264]
#define __pyx_kp_u_Specifies_compression_attribute __pyx_string_tab[265]
#define __pyx_kp_u_Specifies_performance_hint_with __pyx_string_tab[266]
#define __pyx_kp_u_Specifies_the_handle_type_for_a __pyx_string_tab[267]
#define __pyx_kp_u_Specifies_the_memory_protection __pyx_string_tab[268]
#define __pyx_kp_u_Specifies_the_type_of_location __pyx_string_tab[269]
#define __pyx_kp_u_Stream_creation_flags __pyx_string_tab[270]
#define __pyx_kp_u_Tensor_map_Im2Col_wide_mode __pyx_string_tab[271]
#define __pyx_kp_u_Tensor_map_L2_promotion_type __pyx_string_tab[272]
#define __pyx_kp_u_Tensor_map_data_type __pyx_string_tab[273]
#define __pyx_kp_u_Tensor_map_interleave_layout_ty __pyx_string_tab[274]
#define __pyx_kp_u_Tensor_map_out_of_bounds_fill_t __pyx_string_tab[275]
#define __pyx_kp_u_Tensor_map_swizzling_mode_of_sh __pyx_string_tab[276]
#define __pyx_kp_u_Texture_reference_addressing_mo __pyx_string_tab[277]
#define __pyx_kp_u_Texture_reference_filtering_mod __pyx_string_tab[278]
#define __pyx_kp_u_The_additional_write_options_fo __pyx_string_tab[279]
#define __pyx_kp_u_The_scopes_for_py_obj_cuFlushGP __pyx_string_tab[280]
#define __pyx_kp_u_The_targets_for_py_obj_cuFlushG __pyx_string_tab[281]
#define __pyx_kp_u_These_flags_allow_applications __pyx_string_tab[282]
#define __pyx_kp_u_These_flags_allow_applications_2 __pyx_string_tab[283]
#define __pyx_kp_u_Type_annotations_that_can_be_ap __pyx_string_tab[284]
#define __pyx_kp_u_Type_of_resource __pyx_string_tab[285]
#define __pyx_kp_u_Types_of_async_notification_tha __pyx_string_tab[286]
#define __pyx_kp_u_Unknown_type __pyx_string_tab[287]
#define __pyx_kp_u_Unsupported_attribute __pyx_string_tab[288]
#define __pyx_kp_u_Unsupported_attribute_value __pyx_string_tab[289]
#define __pyx_kp_u_Unsupported_type __pyx_string_tab[290]
#define __pyx_kp_u_VdpDevice __pyx_string_tab[291]
#define __pyx_kp_u_VdpGetProcAddress __pyx_string_tab[292]
#define __pyx_kp_u_VdpOutputSurface __pyx_string_tab[293]
#define __pyx_kp_u_VdpVideoSurface __pyx_string_tab[294]
#define __pyx_kp_u_Width __pyx_string_tab[295]
#define __pyx_kp_u_WidthInBytes __pyx_string_tab[296]
#define __pyx_kp_u_WidthInBytes_ValueError __pyx_string_tab[297]
#define __pyx_kp_u_Width_ValueError __pyx_string_tab[298]
#define __pyx_kp_u__2 __pyx_string_tab[299]
#define __pyx_kp_u__3 __pyx_string_tab[300]
#define __pyx_kp_u__4 __pyx_string_tab[301]
#define __pyx_kp_u__6 __pyx_string_tab[302]
#define __pyx_kp_u__7 __pyx_string_tab[303]
#define __pyx_kp_u__8 __pyx_string_tab[304]
#define __pyx_kp_u__9 __pyx_string_tab[305]
#define __pyx_kp_u_accessDescCount __pyx_string_tab[306]
#define __pyx_kp_u_accessDescCount_ValueError __pyx_string_tab[307]
#define __pyx_kp_u_accessDescs __pyx_string_tab[308]
#define __pyx_kp_u_accessDescs_ValueError __pyx_string_tab[309]
#define __pyx_kp_u_accessPolicyWindow __pyx_string_tab[310]
#define __pyx_kp_u_accessPolicyWindow_ValueError __pyx_string_tab[311]
#define __pyx_kp_u_add_note __pyx_string_tab[312]
#define __pyx_kp_u_address __pyx_string_tab[313]
#define __pyx_kp_u_addressMode __pyx_string_tab[314]
#define __pyx_kp_u_addressMode_ValueError __pyx_string_tab[315]
#define __pyx_kp_u_address_ValueError __pyx_string_tab[316]
#define __pyx_kp_u_algo __pyx_string_tab[317]
#define __pyx_kp_u_algo_ValueError __pyx_string_tab[318]
#define __pyx_kp_u_alias __pyx_string_tab[319]
#define __pyx_kp_u_alias_ValueError __pyx_string_tab[320]
#define __pyx_kp_u_alignment __pyx_string_tab[321]
#define __pyx_kp_u_alignment_ValueError __pyx_string_tab[322]
#define __pyx_kp_u_alloc __pyx_string_tab[323]
#define __pyx_kp_u_allocFlags __pyx_string_tab[324]
#define __pyx_kp_u_allocFlags_ValueError __pyx_string_tab[325]
#define __pyx_kp_u_allocType __pyx_string_tab[326]
#define __pyx_kp_u_allocType_ValueError __pyx_string_tab[327]
#define __pyx_kp_u_alloc_ValueError __pyx_string_tab[328]
#define __pyx_kp_u_array __pyx_string_tab[329]
#define __pyx_kp_u_arrayDesc __pyx_string_tab[330]
#define __pyx_kp_u_arrayDesc_ValueError __pyx_string_tab[331]
#define __pyx_kp_u_array_3 __pyx_string_tab[332]
#define __pyx_kp_u_array_ValueError __pyx_string_tab[333]
#define __pyx_kp_u_atomicReduction __pyx_string_tab[334]
#define __pyx_kp_u_atomicReduction_ValueError __pyx_string_tab[335]
#define __pyx_kp_u_attrs __pyx_string_tab[336]
#define __pyx_kp_u_attrs_ValueError __pyx_string_tab[337]
#define __pyx_kp_u_base_ptr __pyx_string_tab[338]
#define __pyx_kp_u_base_ptr_ValueError __pyx_string_tab[339]
#define __pyx_kp_u_blockDimX __pyx_string_tab[340]
#define __pyx_kp_u_blockDimX_ValueError __pyx_string_tab[341]
#define __pyx_kp_u_blockDimY __pyx_string_tab[342]
#define __pyx_kp_u_blockDimY_ValueError __pyx_string_tab[343]
#define __pyx_kp_u_blockDimZ __pyx_string_tab[344]
#define __pyx_kp_u_blockDimZ_ValueError __pyx_string_tab[345]
#define __pyx_kp_u_borderColor __pyx_string_tab[346]
#define __pyx_kp_u_borderColor_ValueError __pyx_string_tab[347]
#define __pyx_kp_u_bytes __pyx_string_tab[348]
#define __pyx_kp_u_bytesOverBudget __pyx_string_tab[349]
#define __pyx_kp_u_bytesOverBudget_ValueError __pyx_string_tab[350]
#define __pyx_kp_u_bytes_ValueError __pyx_string_tab[351]
#define __pyx_kp_u_bytesize __pyx_string_tab[352]
#define __pyx_kp_u_bytesize_ValueError __pyx_string_tab[353]
#define __pyx_kp_u_cigParams __pyx_string_tab[354]
#define __pyx_kp_u_cigParams_ValueError __pyx_string_tab[355]
#define __pyx_kp_u_clockRate __pyx_string_tab[356]
#define __pyx_kp_u_clockRate_ValueError __pyx_string_tab[357]
#define __pyx_kp_u_clusterDim __pyx_string_tab[358]
#define __pyx_kp_u_clusterDim_ValueError __pyx_string_tab[359]
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc __pyx_string_tab[360]
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc_3 __pyx_string_tab[361]
#define __pyx_kp_u_compressionType __pyx_string_tab[362]
#define __pyx_kp_u_compressionType_ValueError __pyx_string_tab[363]
#define __pyx_kp_u_conditional __pyx_string_tab[364]
#define __pyx_kp_u_conditional_ValueError __pyx_string_tab[365]
#define __pyx_kp_u_cooperative __pyx_string_tab[366]
#define __pyx_kp_u_cooperative_ValueError __pyx_string_tab[367]
#define __pyx_kp_u_copyCtx __pyx_string_tab[368]
#define __pyx_kp_u_copyCtx_ValueError __pyx_string_tab[369]
#define __pyx_kp_u_copyParams __pyx_string_tab[370]
#define __pyx_kp_u_copyParams_ValueError __pyx_string_tab[371]
#define __pyx_kp_u_coscheduledSmCount __pyx_string_tab[372]
#define __pyx_kp_u_coscheduledSmCount_ValueError __pyx_string_tab[373]
#define __pyx_kp_u_count __pyx_string_tab[374]
#define __pyx_kp_u_count_ValueError __pyx_string_tab[375]
#define __pyx_kp_u_ctx __pyx_string_tab[376]
#define __pyx_kp_u_ctx_ValueError __pyx_string_tab[377]
#define __pyx_kp_u_cuFormat __pyx_string_tab[378]
#define __pyx_kp_u_cuFormat_ValueError __pyx_string_tab[379]
#define __pyx_kp_u_cuda_bindings__lib_utils_pxi __pyx_string_tab[380]
#define __pyx_kp_u_cuda_bindings_driver_pyx __pyx_string_tab[381]
#define __pyx_kp_u_cuuint32_t __pyx_string_tab[382]
#define __pyx_kp_u_cuuint64_t_2 __pyx_string_tab[383]
#define __pyx_kp_u_data __pyx_string_tab[384]
#define __pyx_kp_u_dataTable __pyx_string_tab[385]
#define __pyx_kp_u_dataTable_ValueError __pyx_string_tab[386]
#define __pyx_kp_u_dataType __pyx_string_tab[387]
#define __pyx_kp_u_dataType_ValueError __pyx_string_tab[388]
#define __pyx_kp_u_dataWindowSize __pyx_string_tab[389]
#define __pyx_kp_u_dataWindowSize_ValueError __pyx_string_tab[390]
#define __pyx_kp_u_data_ValueError __pyx_string_tab[391]
#define __pyx_kp_u_data_length_must_be_64_is __pyx_string_tab[392]
#define __pyx_kp_u_default __pyx_string_tab[393]
#define __pyx_kp_u_default__ValueError __pyx_string_tab[394]
#define __pyx_kp_u_depth __pyx_string_tab[395]
#define __pyx_kp_u_depth_ValueError __pyx_string_tab[396]
#define __pyx_kp_u_devNode __pyx_string_tab[397]
#define __pyx_kp_u_devNode_ValueError __pyx_string_tab[398]
#define __pyx_kp_u_devPtr __pyx_string_tab[399]
#define __pyx_kp_u_devPtr_ValueError __pyx_string_tab[400]
#define __pyx_kp_u_device __pyx_string_tab[401]
#define __pyx_kp_u_deviceBitMask __pyx_string_tab[402]
#define __pyx_kp_u_deviceBitMask_ValueError __pyx_string_tab[403]
#define __pyx_kp_u_deviceUpdatable __pyx_string_tab[404]
#define __pyx_kp_u_deviceUpdatableKernelNode __pyx_string_tab[405]
#define __pyx_kp_u_deviceUpdatableKernelNode_ValueE __pyx_string_tab[406]
#define __pyx_kp_u_deviceUpdatable_ValueError __pyx_string_tab[407]
#define __pyx_kp_u_device_ValueError __pyx_string_tab[408]
#define __pyx_kp_u_disable __pyx_string_tab[409]
#define __pyx_kp_u_dptr __pyx_string_tab[410]
#define __pyx_kp_u_dptr_ValueError __pyx_string_tab[411]
#define __pyx_kp_u_dst __pyx_string_tab[412]
#define __pyx_kp_u_dstActBytes __pyx_string_tab[413]
#define __pyx_kp_u_dstActBytes_ValueError __pyx_string_tab[414]
#define __pyx_kp_u_dstArray __pyx_string_tab[415]
#define __pyx_kp_u_dstArray_ValueError __pyx_string_tab[416]
#define __pyx_kp_u_dstContext __pyx_string_tab[417]
#define __pyx_kp_u_dstContext_ValueError __pyx_string_tab[418]
#define __pyx_kp_u_dstDevice __pyx_string_tab[419]
#define __pyx_kp_u_dstDevice_ValueError __pyx_string_tab[420]
#define __pyx_kp_u_dstHeight __pyx_string_tab[421]
#define __pyx_kp_u_dstHeight_ValueError __pyx_string_tab[422]
#define __pyx_kp_u_dstHost __pyx_string_tab[423]
#define __pyx_kp_u_dstHost_ValueError __pyx_string_tab[424]
#define __pyx_kp_u_dstLOD __pyx_string_tab[425]
#define __pyx_kp_u_dstLOD_ValueError __pyx_string_tab[426]
#define __pyx_kp_u_dstLocHint __pyx_string_tab[427]
#define __pyx_kp_u_dstLocHint_ValueError __pyx_string_tab[428]
#define __pyx_kp_u_dstMemoryType __pyx_string_tab[429]
#define __pyx_kp_u_dstMemoryType_ValueError __pyx_string_tab[430]
#define __pyx_kp_u_dstNumBytes __pyx_string_tab[431]
#define __pyx_kp_u_dstNumBytes_ValueError __pyx_string_tab[432]
#define __pyx_kp_u_dstPitch __pyx_string_tab[433]
#define __pyx_kp_u_dstPitch_ValueError __pyx_string_tab[434]
#define __pyx_kp_u_dstXInBytes __pyx_string_tab[435]
#define __pyx_kp_u_dstXInBytes_ValueError __pyx_string_tab[436]
#define __pyx_kp_u_dstY __pyx_string_tab[437]
#define __pyx_kp_u_dstY_ValueError __pyx_string_tab[438]
#define __pyx_kp_u_dstZ __pyx_string_tab[439]
#define __pyx_kp_u_dstZ_ValueError __pyx_string_tab[440]
#define __pyx_kp_u_dst_3 __pyx_string_tab[441]
#define __pyx_kp_u_dst_ValueError __pyx_string_tab[442]
#define __pyx_kp_u_eglColorFormat __pyx_string_tab[443]
#define __pyx_kp_u_eglColorFormat_ValueError __pyx_string_tab[444]
#define __pyx_kp_u_elementSize __pyx_string_tab[445]
#define __pyx_kp_u_elementSize_ValueError __pyx_string_tab[446]
#define __pyx_kp_u_enable __pyx_string_tab[447]
#define __pyx_kp_u_errorFromNode __pyx_string_tab[448]
#define __pyx_kp_u_errorFromNode_ValueError __pyx_string_tab[449]
#define __pyx_kp_u_errorNode __pyx_string_tab[450]
#define __pyx_kp_u_errorNode_ValueError __pyx_string_tab[451]
#define __pyx_kp_u_event __pyx_string_tab[452]
#define __pyx_kp_u_eventRecord __pyx_string_tab[453]
#define __pyx_kp_u_eventRecord_ValueError __pyx_string_tab[454]
#define __pyx_kp_u_eventWait __pyx_string_tab[455]
#define __pyx_kp_u_eventWait_ValueError __pyx_string_tab[456]
#define __pyx_kp_u_event_ValueError __pyx_string_tab[457]
#define __pyx_kp_u_execAffinityParams __pyx_string_tab[458]
#define __pyx_kp_u_execAffinityParams_ValueError __pyx_string_tab[459]
#define __pyx_kp_u_extSemArray __pyx_string_tab[460]
#define __pyx_kp_u_extSemArray_ValueError __pyx_string_tab[461]
#define __pyx_kp_u_extSemSignal __pyx_string_tab[462]
#define __pyx_kp_u_extSemSignal_ValueError __pyx_string_tab[463]
#define __pyx_kp_u_extSemWait __pyx_string_tab[464]
#define __pyx_kp_u_extSemWait_ValueError __pyx_string_tab[465]
#define __pyx_kp_u_extent __pyx_string_tab[466]
#define __pyx_kp_u_extentDepth __pyx_string_tab[467]
#define __pyx_kp_u_extentDepth_ValueError __pyx_string_tab[468]
#define __pyx_kp_u_extentHeight __pyx_string_tab[469]
#define __pyx_kp_u_extentHeight_ValueError __pyx_string_tab[470]
#define __pyx_kp_u_extentWidth __pyx_string_tab[471]
#define __pyx_kp_u_extentWidth_ValueError __pyx_string_tab[472]
#define __pyx_kp_u_extent_ValueError __pyx_string_tab[473]
#define __pyx_kp_u_extra __pyx_string_tab[474]
#define __pyx_kp_u_extra_ValueError __pyx_string_tab[475]
#define __pyx_kp_u_fd __pyx_string_tab[476]
#define __pyx_kp_u_fd_ValueError __pyx_string_tab[477]
#define __pyx_kp_u_fence __pyx_string_tab[478]
#define __pyx_kp_u_fence_3 __pyx_string_tab[479]
#define __pyx_kp_u_fence_ValueError __pyx_string_tab[480]
#define __pyx_kp_u_filterMode __pyx_string_tab[481]
#define __pyx_kp_u_filterMode_ValueError __pyx_string_tab[482]
#define __pyx_kp_u_firstLayer __pyx_string_tab[483]
#define __pyx_kp_u_firstLayer_ValueError __pyx_string_tab[484]
#define __pyx_kp_u_firstMipmapLevel __pyx_string_tab[485]
#define __pyx_kp_u_firstMipmapLevel_ValueError __pyx_string_tab[486]
#define __pyx_kp_u_flags __pyx_string_tab[487]
#define __pyx_kp_u_flags_ValueError __pyx_string_tab[488]
#define __pyx_kp_u_flushRemoteWrites __pyx_string_tab[489]
#define __pyx_kp_u_flushRemoteWrites_ValueError __pyx_string_tab[490]
#define __pyx_kp_u_fn __pyx_string_tab[491]
#define __pyx_kp_u_fn_ValueError __pyx_string_tab[492]
#define __pyx_kp_u_format_2 __pyx_string_tab[493]
#define __pyx_kp_u_format_ValueError __pyx_string_tab[494]
#define __pyx_kp_u_frame __pyx_string_tab[495]
#define __pyx_kp_u_frameType __pyx_string_tab[496]
#define __pyx_kp_u_frameType_ValueError __pyx_string_tab[497]
#define __pyx_kp_u_frame_ValueError __pyx_string_tab[498]
#define __pyx_kp_u_free __pyx_string_tab[499]
#define __pyx_kp_u_free_ValueError __pyx_string_tab[500]
#define __pyx_kp_u_from_port __pyx_string_tab[501]
#define __pyx_kp_u_from_port_ValueError __pyx_string_tab[502]
#define __pyx_kp_u_func __pyx_string_tab[503]
#define __pyx_kp_u_func_ValueError __pyx_string_tab[504]
#define __pyx_kp_u_function __pyx_string_tab[505]
#define __pyx_kp_u_functionTable __pyx_string_tab[506]
#define __pyx_kp_u_functionTable_ValueError __pyx_string_tab[507]
#define __pyx_kp_u_functionWindowSize __pyx_string_tab[508]
#define __pyx_kp_u_functionWindowSize_ValueError __pyx_string_tab[509]
#define __pyx_kp_u_function_ValueError __pyx_string_tab[510]
#define __pyx_kp_u_gc __pyx_string_tab[511]
#define __pyx_kp_u_gpuDirectRDMACapable __pyx_string_tab[512]
#define __pyx_kp_u_gpuDirectRDMACapable_ValueError __pyx_string_tab[513]
#define __pyx_kp_u_gpuPairs __pyx_string_tab[514]
#define __pyx_kp_u_gpuPairsCount __pyx_string_tab[515]
#define __pyx_kp_u_gpuPairsCount_ValueError __pyx_string_tab[516]
#define __pyx_kp_u_gpuPairs_ValueError __pyx_string_tab[517]
#define __pyx_kp_u_graph __pyx_string_tab[518]
#define __pyx_kp_u_graph_3 __pyx_string_tab[519]
#define __pyx_kp_u_graph_ValueError __pyx_string_tab[520]
#define __pyx_kp_u_gridDimX __pyx_string_tab[521]
#define __pyx_kp_u_gridDimX_ValueError __pyx_string_tab[522]
#define __pyx_kp_u_gridDimY __pyx_string_tab[523]
#define __pyx_kp_u_gridDimY_ValueError __pyx_string_tab[524]
#define __pyx_kp_u_gridDimZ __pyx_string_tab[525]
#define __pyx_kp_u_gridDimZ_ValueError __pyx_string_tab[526]
#define __pyx_kp_u_hArray __pyx_string_tab[527]
#define __pyx_kp_u_hArray_ValueError __pyx_string_tab[528]
#define __pyx_kp_u_hErrNode_out __pyx_string_tab[529]
#define __pyx_kp_u_hErrNode_out_ValueError __pyx_string_tab[530]
#define __pyx_kp_u_hMipmappedArray __pyx_string_tab[531]
#define __pyx_kp_u_hMipmappedArray_ValueError __pyx_string_tab[532]
#define __pyx_kp_u_hStream __pyx_string_tab[533]
#define __pyx_kp_u_hStream_ValueError __pyx_string_tab[534]
#define __pyx_kp_u_hUploadStream __pyx_string_tab[535]
#define __pyx_kp_u_hUploadStream_ValueError __pyx_string_tab[536]
#define __pyx_kp_u_handle __pyx_string_tab[537]
#define __pyx_kp_u_handleTypes __pyx_string_tab[538]
#define __pyx_kp_u_handleTypes_ValueError __pyx_string_tab[539]
#define __pyx_kp_u_handle_3 __pyx_string_tab[540]
#define __pyx_kp_u_handle_ValueError __pyx_string_tab[541]
#define __pyx_kp_u_height __pyx_string_tab[542]
#define __pyx_kp_u_height_ValueError __pyx_string_tab[543]
#define __pyx_kp_u_hitProp __pyx_string_tab[544]
#define __pyx_kp_u_hitProp_ValueError __pyx_string_tab[545]
#define __pyx_kp_u_hitRatio __pyx_string_tab[546]
#define __pyx_kp_u_hitRatio_ValueError __pyx_string_tab[547]
#define __pyx_kp_u_host __pyx_string_tab[548]
#define __pyx_kp_u_host_ValueError __pyx_string_tab[549]
#define __pyx_kp_u_id __pyx_string_tab[550]
#define __pyx_kp_u_id_ValueError __pyx_string_tab[551]
#define __pyx_kp_u_info __pyx_string_tab[552]
#define __pyx_kp_u_info_ValueError __pyx_string_tab[553]
#define __pyx_kp_u_internal_padding __pyx_string_tab[554]
#define __pyx_kp_u_internal_padding_ValueError __pyx_string_tab[555]
#define __pyx_kp_u_internal_padding_length_must_be __pyx_string_tab[556]
#define __pyx_kp_u_isenabled __pyx_string_tab[557]
#define __pyx_kp_u_kern __pyx_string_tab[558]
#define __pyx_kp_u_kern_ValueError __pyx_string_tab[559]
#define __pyx_kp_u_kernel __pyx_string_tab[560]
#define __pyx_kp_u_kernelParams_2 __pyx_string_tab[561]
#define __pyx_kp_u_kernelParams_ValueError __pyx_string_tab[562]
#define __pyx_kp_u_kernel_ValueError __pyx_string_tab[563]
#define __pyx_kp_u_key __pyx_string_tab[564]
#define __pyx_kp_u_key_ValueError __pyx_string_tab[565]
#define __pyx_kp_u_keyedMutex __pyx_string_tab[566]
#define __pyx_kp_u_keyedMutex_ValueError __pyx_string_tab[567]
#define __pyx_kp_u_lastLayer __pyx_string_tab[568]
#define __pyx_kp_u_lastLayer_ValueError __pyx_string_tab[569]
#define __pyx_kp_u_lastMipmapLevel __pyx_string_tab[570]
#define __pyx_kp_u_lastMipmapLevel_ValueError __pyx_string_tab[571]
#define __pyx_kp_u_launchCompletionEvent __pyx_string_tab[572]
#define __pyx_kp_u_launchCompletionEvent_ValueError __pyx_string_tab[573]
#define __pyx_kp_u_layer __pyx_string_tab[574]
#define __pyx_kp_u_layerHeight __pyx_string_tab[575]
#define __pyx_kp_u_layerHeight_ValueError __pyx_string_tab[576]
#define __pyx_kp_u_layer_ValueError __pyx_string_tab[577]
#define __pyx_kp_u_level __pyx_string_tab[578]
#define __pyx_kp_u_level_ValueError __pyx_string_tab[579]
#define __pyx_kp_u_linear __pyx_string_tab[580]
#define __pyx_kp_u_linear_ValueError __pyx_string_tab[581]
#define __pyx_kp_u_locHint __pyx_string_tab[582]
#define __pyx_kp_u_locHint_ValueError __pyx_string_tab[583]
#define __pyx_kp_u_location __pyx_string_tab[584]
#define __pyx_kp_u_location_ValueError __pyx_string_tab[585]
#define __pyx_kp_u_maxAnisotropy __pyx_string_tab[586]
#define __pyx_kp_u_maxAnisotropy_ValueError __pyx_string_tab[587]
#define __pyx_kp_u_maxGridSize __pyx_string_tab[588]
#define __pyx_kp_u_maxGridSize_ValueError __pyx_string_tab[589]
#define __pyx_kp_u_maxMipmapLevelClamp __pyx_string_tab[590]
#define __pyx_kp_u_maxMipmapLevelClamp_ValueError __pyx_string_tab[591]
#define __pyx_kp_u_maxSize __pyx_string_tab[592]
#define __pyx_kp_u_maxSize_ValueError __pyx_string_tab[593]
#define __pyx_kp_u_maxThreadsDim __pyx_string_tab[594]
#define __pyx_kp_u_maxThreadsDim_ValueError __pyx_string_tab[595]
#define __pyx_kp_u_maxThreadsPerBlock __pyx_string_tab[596]
#define __pyx_kp_u_maxThreadsPerBlock_ValueError __pyx_string_tab[597]
#define __pyx_kp_u_memHandle __pyx_string_tab[598]
#define __pyx_kp_u_memHandleType __pyx_string_tab[599]
#define __pyx_kp_u_memHandleType_ValueError __pyx_string_tab[600]
#define __pyx_kp_u_memHandle_3 __pyx_string_tab[601]
#define __pyx_kp_u_memHandle_ValueError __pyx_string_tab[602]
#define __pyx_kp_u_memOp __pyx_string_tab[603]
#define __pyx_kp_u_memOp_ValueError __pyx_string_tab[604]
#define __pyx_kp_u_memOperationType __pyx_string_tab[605]
#define __pyx_kp_u_memOperationType_ValueError __pyx_string_tab[606]
#define __pyx_kp_u_memPitch __pyx_string_tab[607]
#define __pyx_kp_u_memPitch_ValueError __pyx_string_tab[608]
#define __pyx_kp_u_memSyncDomain __pyx_string_tab[609]
#define __pyx_kp_u_memSyncDomainMap __pyx_string_tab[610]
#define __pyx_kp_u_memSyncDomainMap_ValueError __pyx_string_tab[611]
#define __pyx_kp_u_memSyncDomain_ValueError __pyx_string_tab[612]
#define __pyx_kp_u_memcpy __pyx_string_tab[613]
#define __pyx_kp_u_memcpy_ValueError __pyx_string_tab[614]
#define __pyx_kp_u_memoryBarrier __pyx_string_tab[615]
#define __pyx_kp_u_memoryBarrier_ValueError __pyx_string_tab[616]
#define __pyx_kp_u_memset __pyx_string_tab[617]
#define __pyx_kp_u_memset_ValueError __pyx_string_tab[618]
#define __pyx_kp_u_minMipmapLevelClamp __pyx_string_tab[619]
#define __pyx_kp_u_minMipmapLevelClamp_ValueError __pyx_string_tab[620]
#define __pyx_kp_u_minSmPartitionSize __pyx_string_tab[621]
#define __pyx_kp_u_minSmPartitionSize_ValueError __pyx_string_tab[622]
#define __pyx_kp_u_mipmap __pyx_string_tab[623]
#define __pyx_kp_u_mipmapFilterMode __pyx_string_tab[624]
#define __pyx_kp_u_mipmapFilterMode_ValueError __pyx_string_tab[625]
#define __pyx_kp_u_mipmapLevelBias __pyx_string_tab[626]
#define __pyx_kp_u_mipmapLevelBias_ValueError __pyx_string_tab[627]
#define __pyx_kp_u_mipmap_3 __pyx_string_tab[628]
#define __pyx_kp_u_mipmap_ValueError __pyx_string_tab[629]
#define __pyx_kp_u_miptail __pyx_string_tab[630]
#define __pyx_kp_u_miptailFirstLevel __pyx_string_tab[631]
#define __pyx_kp_u_miptailFirstLevel_ValueError __pyx_string_tab[632]
#define __pyx_kp_u_miptailSize __pyx_string_tab[633]
#define __pyx_kp_u_miptailSize_ValueError __pyx_string_tab[634]
#define __pyx_kp_u_miptail_ValueError __pyx_string_tab[635]
#define __pyx_kp_u_missProp __pyx_string_tab[636]
#define __pyx_kp_u_missProp_ValueError __pyx_string_tab[637]
#define __pyx_kp_u_name_2 __pyx_string_tab[638]
#define __pyx_kp_u_name_ValueError __pyx_string_tab[639]
#define __pyx_kp_u_newUuid __pyx_string_tab[640]
#define __pyx_kp_u_newUuid_ValueError __pyx_string_tab[641]
#define __pyx_kp_u_nextResource __pyx_string_tab[642]
#define __pyx_kp_u_nextResource_ValueError __pyx_string_tab[643]
#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[644]
#define __pyx_kp_u_not_enough_values_found_during_a_2 __pyx_string_tab[645]
#define __pyx_kp_u_numAttrs __pyx_string_tab[646]
#define __pyx_kp_u_numAttrs_ValueError __pyx_string_tab[647]
#define __pyx_kp_u_numChannels __pyx_string_tab[648]
#define __pyx_kp_u_numChannels_ValueError __pyx_string_tab[649]
#define __pyx_kp_u_numDevices __pyx_string_tab[650]
#define __pyx_kp_u_numDevices_ValueError __pyx_string_tab[651]
#define __pyx_kp_u_numExecAffinityParams __pyx_string_tab[652]
#define __pyx_kp_u_numExecAffinityParams_ValueError __pyx_string_tab[653]
#define __pyx_kp_u_numExtSems __pyx_string_tab[654]
#define __pyx_kp_u_numExtSems_ValueError __pyx_string_tab[655]
#define __pyx_kp_u_numLevels __pyx_string_tab[656]
#define __pyx_kp_u_numLevels_ValueError __pyx_string_tab[657]
#define __pyx_kp_u_num_bytes __pyx_string_tab[658]
#define __pyx_kp_u_num_bytes_ValueError __pyx_string_tab[659]
#define __pyx_kp_u_nvSciBufObject __pyx_string_tab[660]
#define __pyx_kp_u_nvSciBufObject_ValueError __pyx_string_tab[661]
#define __pyx_kp_u_nvSciSync __pyx_string_tab[662]
#define __pyx_kp_u_nvSciSyncObj __pyx_string_tab[663]
#define __pyx_kp_u_nvSciSyncObj_ValueError __pyx_string_tab[664]
#define __pyx_kp_u_nvSciSync_ValueError __pyx_string_tab[665]
#define __pyx_kp_u_nvlinkUtilCentricScheduling __pyx_string_tab[666]
#define __pyx_kp_u_nvlinkUtilCentricScheduling_Valu __pyx_string_tab[667]
#define __pyx_kp_u_offset __pyx_string_tab[668]
#define __pyx_kp_u_offsetX __pyx_string_tab[669]
#define __pyx_kp_u_offsetX_ValueError __pyx_string_tab[670]
#define __pyx_kp_u_offsetY __pyx_string_tab[671]
#define __pyx_kp_u_offsetY_ValueError __pyx_string_tab[672]
#define __pyx_kp_u_offsetZ __pyx_string_tab[673]
#define __pyx_kp_u_offsetZ_ValueError __pyx_string_tab[674]
#define __pyx_kp_u_offset_3 __pyx_string_tab[675]
#define __pyx_kp_u_offset_ValueError __pyx_string_tab[676]
#define __pyx_kp_u_oldUuid __pyx_string_tab[677]
#define __pyx_kp_u_oldUuid_ValueError __pyx_string_tab[678]
#define __pyx_kp_u_op __pyx_string_tab[679]
#define __pyx_kp_u_op_ValueError __pyx_string_tab[680]
#define __pyx_kp_u_opaque __pyx_string_tab[681]
#define __pyx_kp_u_opaque_ValueError __pyx_string_tab[682]
#define __pyx_kp_u_operation __pyx_string_tab[683]
#define __pyx_kp_u_operation_ValueError __pyx_string_tab[684]
#define __pyx_kp_u_overBudget __pyx_string_tab[685]
#define __pyx_kp_u_overBudget_ValueError __pyx_string_tab[686]
#define __pyx_kp_u_oversize __pyx_string_tab[687]
#define __pyx_kp_u_oversize_ValueError __pyx_string_tab[688]
#define __pyx_kp_u_oversize_length_must_be_40_is __pyx_string_tab[689]
#define __pyx_kp_u_ownership __pyx_string_tab[690]
#define __pyx_kp_u_ownership_ValueError __pyx_string_tab[691]
#define __pyx_kp_u_p2pToken __pyx_string_tab[692]
#define __pyx_kp_u_p2pToken_ValueError __pyx_string_tab[693]
#define __pyx_kp_u_pArray __pyx_string_tab[694]
#define __pyx_kp_u_pArray_ValueError __pyx_string_tab[695]
#define __pyx_kp_u_pPitch __pyx_string_tab[696]
#define __pyx_kp_u_pPitch_ValueError __pyx_string_tab[697]
#define __pyx_kp_u_pad __pyx_string_tab[698]
#define __pyx_kp_u_pad_ValueError __pyx_string_tab[699]
#define __pyx_kp_u_pad_length_must_be_64_is __pyx_string_tab[700]
#define __pyx_kp_u_padding __pyx_string_tab[701]
#define __pyx_kp_u_padding_ValueError __pyx_string_tab[702]
#define __pyx_kp_u_padding_length_must_be_20_is __pyx_string_tab[703]
#define __pyx_kp_u_param __pyx_string_tab[704]
#define __pyx_kp_u_paramArray __pyx_string_tab[705]
#define __pyx_kp_u_paramArray_ValueError __pyx_string_tab[706]
#define __pyx_kp_u_param_ValueError __pyx_string_tab[707]
#define __pyx_kp_u_params __pyx_string_tab[708]
#define __pyx_kp_u_paramsArray __pyx_string_tab[709]
#define __pyx_kp_u_paramsArray_ValueError __pyx_string_tab[710]
#define __pyx_kp_u_params_ValueError __pyx_string_tab[711]
#define __pyx_kp_u_phGraph_out __pyx_string_tab[712]
#define __pyx_kp_u_phGraph_out_ValueError __pyx_string_tab[713]
#define __pyx_kp_u_pitch __pyx_string_tab[714]
#define __pyx_kp_u_pitch2D __pyx_string_tab[715]
#define __pyx_kp_u_pitch2D_ValueError __pyx_string_tab[716]
#define __pyx_kp_u_pitchInBytes __pyx_string_tab[717]
#define __pyx_kp_u_pitchInBytes_ValueError __pyx_string_tab[718]
#define __pyx_kp_u_pitch_ValueError __pyx_string_tab[719]
#define __pyx_kp_u_planeCount __pyx_string_tab[720]
#define __pyx_kp_u_planeCount_ValueError __pyx_string_tab[721]
#define __pyx_kp_u_poolProps __pyx_string_tab[722]
#define __pyx_kp_u_poolProps_ValueError __pyx_string_tab[723]
#define __pyx_kp_u_preferredClusterDim __pyx_string_tab[724]
#define __pyx_kp_u_preferredClusterDim_ValueError __pyx_string_tab[725]
#define __pyx_kp_u_preferredCoscheduledSmCount __pyx_string_tab[726]
#define __pyx_kp_u_preferredCoscheduledSmCount_Valu __pyx_string_tab[727]
#define __pyx_kp_u_priority __pyx_string_tab[728]
#define __pyx_kp_u_priority_ValueError __pyx_string_tab[729]
#define __pyx_kp_u_programmaticEvent __pyx_string_tab[730]
#define __pyx_kp_u_programmaticEvent_ValueError __pyx_string_tab[731]
#define __pyx_kp_u_programmaticStreamSerializationA __pyx_string_tab[732]
#define __pyx_kp_u_programmaticStreamSerializationA_3 __pyx_string_tab[733]
#define __pyx_kp_u_ptr_3 __pyx_string_tab[734]
#define __pyx_kp_u_ptr_4 __pyx_string_tab[735]
#define __pyx_kp_u_ptr_ValueError __pyx_string_tab[736]
#define __pyx_kp_u_reductionOp __pyx_string_tab[737]
#define __pyx_kp_u_reductionOp_ValueError __pyx_string_tab[738]
#define __pyx_kp_u_regsPerBlock __pyx_string_tab[739]
#define __pyx_kp_u_regsPerBlock_ValueError __pyx_string_tab[740]
#define __pyx_kp_u_remote __pyx_string_tab[741]
#define __pyx_kp_u_remote_ValueError __pyx_string_tab[742]
#define __pyx_kp_u_requestedHandleTypes __pyx_string_tab[743]
#define __pyx_kp_u_requestedHandleTypes_ValueError __pyx_string_tab[744]
#define __pyx_kp_u_res __pyx_string_tab[745]
#define __pyx_kp_u_resType __pyx_string_tab[746]
#define __pyx_kp_u_resType_ValueError __pyx_string_tab[747]
#define __pyx_kp_u_res_ValueError __pyx_string_tab[748]
#define __pyx_kp_u_reserved __pyx_string_tab[749]
#define __pyx_kp_u_reserved0 __pyx_string_tab[750]
#define __pyx_kp_u_reserved0_ValueError __pyx_string_tab[751]
#define __pyx_kp_u_reserved1 __pyx_string_tab[752]
#define __pyx_kp_u_reserved1_ValueError __pyx_string_tab[753]
#define __pyx_kp_u_reserved2 __pyx_string_tab[754]
#define __pyx_kp_u_reserved2_ValueError __pyx_string_tab[755]
#define __pyx_kp_u_reserved_3 __pyx_string_tab[756]
#define __pyx_kp_u_reserved_ValueError __pyx_string_tab[757]
#define __pyx_kp_u_reserved_length_must_be_40_is __pyx_string_tab[758]
#define __pyx_kp_u_reserved_length_must_be_44_is __pyx_string_tab[759]
#define __pyx_kp_u_reserved_length_must_be_4_is __pyx_string_tab[760]
#define __pyx_kp_u_reserved_length_must_be_54_is __pyx_string_tab[761]
#define __pyx_kp_u_reserved_length_must_be_5_is __pyx_string_tab[762]
#define __pyx_kp_u_reserved_length_must_be_64_is __pyx_string_tab[763]
#define __pyx_kp_u_resource __pyx_string_tab[764]
#define __pyx_kp_u_resourceType __pyx_string_tab[765]
#define __pyx_kp_u_resourceType_ValueError __pyx_string_tab[766]
#define __pyx_kp_u_resource_ValueError __pyx_string_tab[767]
#define __pyx_kp_u_result __pyx_string_tab[768]
#define __pyx_kp_u_result_ValueError __pyx_string_tab[769]
#define __pyx_kp_u_result_out __pyx_string_tab[770]
#define __pyx_kp_u_result_out_ValueError __pyx_string_tab[771]
#define __pyx_kp_u_rowLength __pyx_string_tab[772]
#define __pyx_kp_u_rowLength_ValueError __pyx_string_tab[773]
#define __pyx_kp_u_self__allocated_cannot_be_conver __pyx_string_tab[774]
#define __pyx_kp_u_sharedData __pyx_string_tab[775]
#define __pyx_kp_u_sharedDataType __pyx_string_tab[776]
#define __pyx_kp_u_sharedDataType_ValueError __pyx_string_tab[777]
#define __pyx_kp_u_sharedData_ValueError __pyx_string_tab[778]
#define __pyx_kp_u_sharedMemBytes __pyx_string_tab[779]
#define __pyx_kp_u_sharedMemBytes_ValueError __pyx_string_tab[780]
#define __pyx_kp_u_sharedMemCarveout __pyx_string_tab[781]
#define __pyx_kp_u_sharedMemCarveout_ValueError __pyx_string_tab[782]
#define __pyx_kp_u_sharedMemPerBlock __pyx_string_tab[783]
#define __pyx_kp_u_sharedMemPerBlock_ValueError __pyx_string_tab[784]
#define __pyx_kp_u_sharingScope __pyx_string_tab[785]
#define __pyx_kp_u_sharingScope_ValueError __pyx_string_tab[786]
#define __pyx_kp_u_size __pyx_string_tab[787]
#define __pyx_kp_u_sizeInBytes __pyx_string_tab[788]
#define __pyx_kp_u_sizeInBytes_ValueError __pyx_string_tab[789]
#define __pyx_kp_u_size_ValueError __pyx_string_tab[790]
#define __pyx_kp_u_sm __pyx_string_tab[791]
#define __pyx_kp_u_smCoscheduledAlignment __pyx_string_tab[792]
#define __pyx_kp_u_smCoscheduledAlignment_ValueErro __pyx_string_tab[793]
#define __pyx_kp_u_smCount __pyx_string_tab[794]
#define __pyx_kp_u_smCount_3 __pyx_string_tab[795]
#define __pyx_kp_u_smCount_ValueError __pyx_string_tab[796]
#define __pyx_kp_u_sm_ValueError __pyx_string_tab[797]
#define __pyx_kp_u_sparseLevel __pyx_string_tab[798]
#define __pyx_kp_u_sparseLevel_ValueError __pyx_string_tab[799]
#define __pyx_kp_u_src __pyx_string_tab[800]
#define __pyx_kp_u_srcAccessOrder __pyx_string_tab[801]
#define __pyx_kp_u_srcAccessOrder_ValueError __pyx_string_tab[802]
#define __pyx_kp_u_srcArray __pyx_string_tab[803]
#define __pyx_kp_u_srcArray_ValueError __pyx_string_tab[804]
#define __pyx_kp_u_srcContext __pyx_string_tab[805]
#define __pyx_kp_u_srcContext_ValueError __pyx_string_tab[806]
#define __pyx_kp_u_srcDevice __pyx_string_tab[807]
#define __pyx_kp_u_srcDevice_ValueError __pyx_string_tab[808]
#define __pyx_kp_u_srcHeight __pyx_string_tab[809]
#define __pyx_kp_u_srcHeight_ValueError __pyx_string_tab[810]
#define __pyx_kp_u_srcHost __pyx_string_tab[811]
#define __pyx_kp_u_srcHost_ValueError __pyx_string_tab[812]
#define __pyx_kp_u_srcLOD __pyx_string_tab[813]
#define __pyx_kp_u_srcLOD_ValueError __pyx_string_tab[814]
#define __pyx_kp_u_srcLocHint __pyx_string_tab[815]
#define __pyx_kp_u_srcLocHint_ValueError __pyx_string_tab[816]
#define __pyx_kp_u_srcMemoryType __pyx_string_tab[817]
#define __pyx_kp_u_srcMemoryType_ValueError __pyx_string_tab[818]
#define __pyx_kp_u_srcNumBytes __pyx_string_tab[819]
#define __pyx_kp_u_srcNumBytes_ValueError __pyx_string_tab[820]
#define __pyx_kp_u_srcPitch __pyx_string_tab[821]
#define __pyx_kp_u_srcPitch_ValueError __pyx_string_tab[822]
#define __pyx_kp_u_srcXInBytes __pyx_string_tab[823]
#define __pyx_kp_u_srcXInBytes_ValueError __pyx_string_tab[824]
#define __pyx_kp_u_srcY __pyx_string_tab[825]
#define __pyx_kp_u_srcY_ValueError __pyx_string_tab[826]
#define __pyx_kp_u_srcZ __pyx_string_tab[827]
#define __pyx_kp_u_srcZ_ValueError __pyx_string_tab[828]
#define __pyx_kp_u_src_3 __pyx_string_tab[829]
#define __pyx_kp_u_src_ValueError __pyx_string_tab[830]
#define __pyx_kp_u_subresource __pyx_string_tab[831]
#define __pyx_kp_u_subresourceType __pyx_string_tab[832]
#define __pyx_kp_u_subresourceType_ValueError __pyx_string_tab[833]
#define __pyx_kp_u_subresource_ValueError __pyx_string_tab[834]
#define __pyx_kp_u_syncPolicy __pyx_string_tab[835]
#define __pyx_kp_u_syncPolicy_ValueError __pyx_string_tab[836]
#define __pyx_kp_u_textureAlign __pyx_string_tab[837]
#define __pyx_kp_u_textureAlign_ValueError __pyx_string_tab[838]
#define __pyx_kp_u_tileExtent __pyx_string_tab[839]
#define __pyx_kp_u_tileExtent_ValueError __pyx_string_tab[840]
#define __pyx_kp_u_timeoutMs __pyx_string_tab[841]
#define __pyx_kp_u_timeoutMs_ValueError __pyx_string_tab[842]
#define __pyx_kp_u_to_port __pyx_string_tab[843]
#define __pyx_kp_u_to_port_ValueError __pyx_string_tab[844]
#define __pyx_kp_u_totalConstantMemory __pyx_string_tab[845]
#define __pyx_kp_u_totalConstantMemory_ValueError __pyx_string_tab[846]
#define __pyx_kp_u_tree_fragment __pyx_string_tab[847]
#define __pyx_kp_u_triggerAtBlockStart __pyx_string_tab[848]
#define __pyx_kp_u_triggerAtBlockStart_ValueError __pyx_string_tab[849]
#define __pyx_kp_u_tuple_int_list_int __pyx_string_tab[850]
#define __pyx_kp_u_type __pyx_string_tab[851]
#define __pyx_kp_u_type_ValueError __pyx_string_tab[852]
#define __pyx_kp_u_usage __pyx_string_tab[853]
#define __pyx_kp_u_usage_ValueError __pyx_string_tab[854]
#define __pyx_kp_u_userData __pyx_string_tab[855]
#define __pyx_kp_u_userData_ValueError __pyx_string_tab[856]
#define __pyx_kp_u_vaSpaceToken __pyx_string_tab[857]
#define __pyx_kp_u_vaSpaceToken_ValueError __pyx_string_tab[858]
#define __pyx_kp_u_val __pyx_string_tab[859]
#define __pyx_kp_u_val_ValueError __pyx_string_tab[860]
#define __pyx_kp_u_value64 __pyx_string_tab[861]
#define __pyx_kp_u_value64_ValueError __pyx_string_tab[862]
#define __pyx_kp_u_value_2 __pyx_string_tab[863]
#define __pyx_kp_u_value_3 __pyx_string_tab[864]
#define __pyx_kp_u_value_ValueError __pyx_string_tab[865]
#define __pyx_kp_u_waitValue __pyx_string_tab[866]
#define __pyx_kp_u_waitValue_ValueError __pyx_string_tab[867]
#define __pyx_kp_u_width __pyx_string_tab[868]
#define __pyx_kp_u_width_ValueError __pyx_string_tab[869]
#define __pyx_kp_u_win32 __pyx_string_tab[870]
#define __pyx_kp_u_win32HandleMetaData __pyx_string_tab[871]
#define __pyx_kp_u_win32HandleMetaData_ValueError __pyx_string_tab[872]
#define __pyx_kp_u_win32SecurityAttributes __pyx_string_tab[873]
#define __pyx_kp_u_win32SecurityAttributes_ValueErr __pyx_string_tab[874]
#define __pyx_kp_u_win32_ValueError __pyx_string_tab[875]
#define __pyx_kp_u_wq __pyx_string_tab[876]
#define __pyx_kp_u_wqConcurrencyLimit __pyx_string_tab[877]
#define __pyx_kp_u_wqConcurrencyLimit_ValueError __pyx_string_tab[878]
#define __pyx_kp_u_wqConfig __pyx_string_tab[879]
#define __pyx_kp_u_wqConfig_ValueError __pyx_string_tab[880]
#define __pyx_kp_u_wq_ValueError __pyx_string_tab[881]
#define __pyx_kp_u_writeValue __pyx_string_tab[882]
#define __pyx_kp_u_writeValue_ValueError __pyx_string_tab[883]
#define __pyx_kp_u_x_2 __pyx_string_tab[884]
#define __pyx_kp_u_x_ValueError __pyx_string_tab[885]
#define __pyx_kp_u_y __pyx_string_tab[886]
#define __pyx_kp_u_y_ValueError __pyx_string_tab[887]
#define __pyx_kp_u_z __pyx_string_tab[888]
#define __pyx_kp_u_z_ValueError __pyx_string_tab[889]
#define __pyx_n_u_Any __pyx_string_tab[890]
#define __pyx_n_u_ByteCount __pyx_string_tab[891]
#define __pyx_n_u_ByteOffset __pyx_string_tab[892]
#define __pyx_n_u_CIG_DATA_TYPE_D3D12_COMMAND_QUEU __pyx_string_tab[893]
#define __pyx_n_u_CIG_DATA_TYPE_NV_BLOB __pyx_string_tab[894]
#define __pyx_n_u_CUCoredumpGenerationFlags __pyx_string_tab[895]
#define __pyx_n_u_CUDA_ARRAY3D_2DARRAY __pyx_string_tab[896]
#define __pyx_n_u_CUDA_ARRAY3D_COLOR_ATTACHMENT __pyx_string_tab[897]
#define __pyx_n_u_CUDA_ARRAY3D_CUBEMAP __pyx_string_tab[898]
#define __pyx_n_u_CUDA_ARRAY3D_DEFERRED_MAPPING __pyx_string_tab[899]
#define __pyx_n_u_CUDA_ARRAY3D_DEPTH_TEXTURE __pyx_string_tab[900]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR __pyx_string_tab[901]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_string_tab[902]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___red __pyx_string_tab[903]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st___set __pyx_string_tab[904]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_st_getPt __pyx_string_tab[905]
#define __pyx_n_u_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_string_tab[906]
#define __pyx_n_u_CUDA_ARRAY3D_LAYERED __pyx_string_tab[907]
#define __pyx_n_u_CUDA_ARRAY3D_SPARSE __pyx_string_tab[908]
#define __pyx_n_u_CUDA_ARRAY3D_SURFACE_LDST __pyx_string_tab[909]
#define __pyx_n_u_CUDA_ARRAY3D_TEXTURE_GATHER __pyx_string_tab[910]
#define __pyx_n_u_CUDA_ARRAY3D_VIDEO_ENCODE_DECODE __pyx_string_tab[911]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR __pyx_string_tab[912]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st __pyx_string_tab[913]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___reduc __pyx_string_tab[914]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st___setst __pyx_string_tab[915]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_st_getPtr __pyx_string_tab[916]
#define __pyx_n_u_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_string_tab[917]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS __pyx_string_tab[918]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s __pyx_string_tab[919]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2 __pyx_string_tab[920]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3 __pyx_string_tab[921]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4 __pyx_string_tab[922]
#define __pyx_n_u_CUDA_ARRAY_MEMORY_REQUIREMENTS_v __pyx_string_tab[923]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES __pyx_string_tab[924]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_string_tab[925]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_2 __pyx_string_tab[926]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_3 __pyx_string_tab[927]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_st_4 __pyx_string_tab[928]
#define __pyx_n_u_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_string_tab[929]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS __pyx_string_tab[930]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_string_tab[931]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2 __pyx_string_tab[932]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3 __pyx_string_tab[933]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4 __pyx_string_tab[934]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5 __pyx_string_tab[935]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 __pyx_string_tab[936]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2 __pyx_string_tab[937]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3 __pyx_string_tab[938]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4 __pyx_string_tab[939]
#define __pyx_n_u_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5 __pyx_string_tab[940]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS __pyx_string_tab[941]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_string_tab[942]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2 __pyx_string_tab[943]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3 __pyx_string_tab[944]
#define __pyx_n_u_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4 __pyx_string_tab[945]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS __pyx_string_tab[946]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___r __pyx_string_tab[947]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS___s __pyx_string_tab[948]
#define __pyx_n_u_CUDA_CONDITIONAL_NODE_PARAMS_get __pyx_string_tab[949]
#define __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE __pyx_string_tab[950]
#define __pyx_n_u_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2 __pyx_string_tab[951]
#define __pyx_n_u_CUDA_EGL_INFINITE_TIMEOUT __pyx_string_tab[952]
#define __pyx_n_u_CUDA_ERROR_ALREADY_ACQUIRED __pyx_string_tab[953]
#define __pyx_n_u_CUDA_ERROR_ALREADY_MAPPED __pyx_string_tab[954]
#define __pyx_n_u_CUDA_ERROR_ARRAY_IS_MAPPED __pyx_string_tab[955]
#define __pyx_n_u_CUDA_ERROR_ASSERT __pyx_string_tab[956]
#define __pyx_n_u_CUDA_ERROR_CALL_REQUIRES_NEWER_D __pyx_string_tab[957]
#define __pyx_n_u_CUDA_ERROR_CAPTURED_EVENT __pyx_string_tab[958]
#define __pyx_n_u_CUDA_ERROR_CDP_NOT_SUPPORTED __pyx_string_tab[959]
#define __pyx_n_u_CUDA_ERROR_CDP_VERSION_MISMATCH __pyx_string_tab[960]
#define __pyx_n_u_CUDA_ERROR_COMPAT_NOT_SUPPORTED __pyx_string_tab[961]
#define __pyx_n_u_CUDA_ERROR_CONTAINED __pyx_string_tab[962]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_CURRE __pyx_string_tab[963]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_ALREADY_IN_US __pyx_string_tab[964]
#define __pyx_n_u_CUDA_ERROR_CONTEXT_IS_DESTROYED __pyx_string_tab[965]
#define __pyx_n_u_CUDA_ERROR_COOPERATIVE_LAUNCH_TO __pyx_string_tab[966]
#define __pyx_n_u_CUDA_ERROR_DEINITIALIZED __pyx_string_tab[967]
#define __pyx_n_u_CUDA_ERROR_DEVICE_NOT_LICENSED __pyx_string_tab[968]
#define __pyx_n_u_CUDA_ERROR_DEVICE_UNAVAILABLE __pyx_string_tab[969]
#define __pyx_n_u_CUDA_ERROR_ECC_UNCORRECTABLE __pyx_string_tab[970]
#define __pyx_n_u_CUDA_ERROR_EXTERNAL_DEVICE __pyx_string_tab[971]
#define __pyx_n_u_CUDA_ERROR_FILE_NOT_FOUND __pyx_string_tab[972]
#define __pyx_n_u_CUDA_ERROR_FUNCTION_NOT_LOADED __pyx_string_tab[973]
#define __pyx_n_u_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI __pyx_string_tab[974]
#define __pyx_n_u_CUDA_ERROR_HARDWARE_STACK_ERROR __pyx_string_tab[975]
#define __pyx_n_u_CUDA_ERROR_HOST_MEMORY_ALREADY_R __pyx_string_tab[976]
#define __pyx_n_u_CUDA_ERROR_HOST_MEMORY_NOT_REGIS __pyx_string_tab[977]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_ADDRESS __pyx_string_tab[978]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_INSTRUCTION __pyx_string_tab[979]
#define __pyx_n_u_CUDA_ERROR_ILLEGAL_STATE __pyx_string_tab[980]
#define __pyx_n_u_CUDA_ERROR_INVALID_ADDRESS_SPACE __pyx_string_tab[981]
#define __pyx_n_u_CUDA_ERROR_INVALID_CLUSTER_SIZE __pyx_string_tab[982]
#define __pyx_n_u_CUDA_ERROR_INVALID_CONTEXT __pyx_string_tab[983]
#define __pyx_n_u_CUDA_ERROR_INVALID_DEVICE __pyx_string_tab[984]
#define __pyx_n_u_CUDA_ERROR_INVALID_GRAPHICS_CONT __pyx_string_tab[985]
#define __pyx_n_u_CUDA_ERROR_INVALID_HANDLE __pyx_string_tab[986]
#define __pyx_n_u_CUDA_ERROR_INVALID_IMAGE __pyx_string_tab[987]
#define __pyx_n_u_CUDA_ERROR_INVALID_PC __pyx_string_tab[988]
#define __pyx_n_u_CUDA_ERROR_INVALID_PTX __pyx_string_tab[989]
#define __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_CONF __pyx_string_tab[990]
#define __pyx_n_u_CUDA_ERROR_INVALID_RESOURCE_TYPE __pyx_string_tab[991]
#define __pyx_n_u_CUDA_ERROR_INVALID_SOURCE __pyx_string_tab[992]
#define __pyx_n_u_CUDA_ERROR_INVALID_VALUE __pyx_string_tab[993]
#define __pyx_n_u_CUDA_ERROR_JIT_COMPILATION_DISAB __pyx_string_tab[994]
#define __pyx_n_u_CUDA_ERROR_JIT_COMPILER_NOT_FOUN __pyx_string_tab[995]
#define __pyx_n_u_CUDA_ERROR_KEY_ROTATION __pyx_string_tab[996]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_FAILED __pyx_string_tab[997]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T __pyx_string_tab[998]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC __pyx_string_tab[999]
#define __pyx_n_u_CUDA_ERROR_LAUNCH_TIMEOUT __pyx_string_tab[1000]
#define __pyx_n_u_CUDA_ERROR_LOSSY_QUERY __pyx_string_tab[1001]
#define __pyx_n_u_CUDA_ERROR_MAP_FAILED __pyx_string_tab[1002]
#define __pyx_n_u_CUDA_ERROR_MISALIGNED_ADDRESS __pyx_string_tab[1003]
#define __pyx_n_u_CUDA_ERROR_MPS_CLIENT_TERMINATED __pyx_string_tab[1004]
#define __pyx_n_u_CUDA_ERROR_MPS_CONNECTION_FAILED __pyx_string_tab[1005]
#define __pyx_n_u_CUDA_ERROR_MPS_MAX_CLIENTS_REACH __pyx_string_tab[1006]
#define __pyx_n_u_CUDA_ERROR_MPS_MAX_CONNECTIONS_R __pyx_string_tab[1007]
#define __pyx_n_u_CUDA_ERROR_MPS_RPC_FAILURE __pyx_string_tab[1008]
#define __pyx_n_u_CUDA_ERROR_MPS_SERVER_NOT_READY __pyx_string_tab[1009]
#define __pyx_n_u_CUDA_ERROR_NOT_FOUND __pyx_string_tab[1010]
#define __pyx_n_u_CUDA_ERROR_NOT_INITIALIZED __pyx_string_tab[1011]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED __pyx_string_tab[1012]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_ARRAY __pyx_string_tab[1013]
#define __pyx_n_u_CUDA_ERROR_NOT_MAPPED_AS_POINTER __pyx_string_tab[1014]
#define __pyx_n_u_CUDA_ERROR_NOT_PERMITTED __pyx_string_tab[1015]
#define __pyx_n_u_CUDA_ERROR_NOT_READY __pyx_string_tab[1016]
#define __pyx_n_u_CUDA_ERROR_NOT_SUPPORTED __pyx_string_tab[1017]
#define __pyx_n_u_CUDA_ERROR_NO_BINARY_FOR_GPU __pyx_string_tab[1018]
#define __pyx_n_u_CUDA_ERROR_NO_DEVICE __pyx_string_tab[1019]
#define __pyx_n_u_CUDA_ERROR_NVLINK_UNCORRECTABLE __pyx_string_tab[1020]
#define __pyx_n_u_CUDA_ERROR_OPERATING_SYSTEM __pyx_string_tab[1021]
#define __pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY __pyx_string_tab[1022]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_ALREADY_E __pyx_string_tab[1023]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_NOT_ENABL __pyx_string_tab[1024]
#define __pyx_n_u_CUDA_ERROR_PEER_ACCESS_UNSUPPORT __pyx_string_tab[1025]
#define __pyx_n_u_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV __pyx_string_tab[1026]
#define __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STAR __pyx_string_tab[1027]
#define __pyx_n_u_CUDA_ERROR_PROFILER_ALREADY_STOP __pyx_string_tab[1028]
#define __pyx_n_u_CUDA_ERROR_PROFILER_DISABLED __pyx_string_tab[1029]
#define __pyx_n_u_CUDA_ERROR_PROFILER_NOT_INITIALI __pyx_string_tab[1030]
#define __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_INIT_FA __pyx_string_tab[1031]
#define __pyx_n_u_CUDA_ERROR_SHARED_OBJECT_SYMBOL __pyx_string_tab[1032]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_IMPLIC __pyx_string_tab[1033]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_INVALI __pyx_string_tab[1034]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_ISOLAT __pyx_string_tab[1035]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_MERGE __pyx_string_tab[1036]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNJOIN __pyx_string_tab[1037]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNMATC __pyx_string_tab[1038]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_UNSUPP __pyx_string_tab[1039]
#define __pyx_n_u_CUDA_ERROR_STREAM_CAPTURE_WRONG __pyx_string_tab[1040]
#define __pyx_n_u_CUDA_ERROR_STREAM_DETACHED __pyx_string_tab[1041]
#define __pyx_n_u_CUDA_ERROR_STUB_LIBRARY __pyx_string_tab[1042]
#define __pyx_n_u_CUDA_ERROR_SYSTEM_DRIVER_MISMATC __pyx_string_tab[1043]
#define __pyx_n_u_CUDA_ERROR_SYSTEM_NOT_READY __pyx_string_tab[1044]
#define __pyx_n_u_CUDA_ERROR_TENSOR_MEMORY_LEAK __pyx_string_tab[1045]
#define __pyx_n_u_CUDA_ERROR_TIMEOUT __pyx_string_tab[1046]
#define __pyx_n_u_CUDA_ERROR_TOO_MANY_PEERS __pyx_string_tab[1047]
#define __pyx_n_u_CUDA_ERROR_UNKNOWN __pyx_string_tab[1048]
#define __pyx_n_u_CUDA_ERROR_UNMAP_FAILED __pyx_string_tab[1049]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S __pyx_string_tab[1050]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI __pyx_string_tab[1051]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_LIMIT __pyx_string_tab[1052]
#define __pyx_n_u_CUDA_ERROR_UNSUPPORTED_PTX_VERSI __pyx_string_tab[1053]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS __pyx_string_tab[1054]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_string_tab[1055]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_2 __pyx_string_tab[1056]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_3 __pyx_string_tab[1057]
#define __pyx_n_u_CUDA_EVENT_RECORD_NODE_PARAMS_st_4 __pyx_string_tab[1058]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS __pyx_string_tab[1059]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_string_tab[1060]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_2 __pyx_string_tab[1061]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_3 __pyx_string_tab[1062]
#define __pyx_n_u_CUDA_EVENT_WAIT_NODE_PARAMS_st_g __pyx_string_tab[1063]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC __pyx_string_tab[1064]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2 __pyx_string_tab[1065]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3 __pyx_string_tab[1066]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4 __pyx_string_tab[1067]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5 __pyx_string_tab[1068]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6 __pyx_string_tab[1069]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_DEDICATED __pyx_string_tab[1070]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC __pyx_string_tab[1071]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2 __pyx_string_tab[1072]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3 __pyx_string_tab[1073]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4 __pyx_string_tab[1074]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5 __pyx_string_tab[1075]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6 __pyx_string_tab[1076]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A __pyx_string_tab[1077]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2 __pyx_string_tab[1078]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3 __pyx_string_tab[1079]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4 __pyx_string_tab[1080]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5 __pyx_string_tab[1081]
#define __pyx_n_u_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6 __pyx_string_tab[1082]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D __pyx_string_tab[1083]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2 __pyx_string_tab[1084]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3 __pyx_string_tab[1085]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4 __pyx_string_tab[1086]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5 __pyx_string_tab[1087]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6 __pyx_string_tab[1088]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P __pyx_string_tab[1089]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2 __pyx_string_tab[1090]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3 __pyx_string_tab[1091]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4 __pyx_string_tab[1092]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5 __pyx_string_tab[1093]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6 __pyx_string_tab[1094]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S __pyx_string_tab[1095]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR __pyx_string_tab[1096]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2 __pyx_string_tab[1097]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3 __pyx_string_tab[1098]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4 __pyx_string_tab[1099]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5 __pyx_string_tab[1100]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6 __pyx_string_tab[1101]
#define __pyx_n_u_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI __pyx_string_tab[1102]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS __pyx_string_tab[1103]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10 __pyx_string_tab[1104]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11 __pyx_string_tab[1105]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2 __pyx_string_tab[1106]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3 __pyx_string_tab[1107]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4 __pyx_string_tab[1108]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5 __pyx_string_tab[1109]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6 __pyx_string_tab[1110]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7 __pyx_string_tab[1111]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8 __pyx_string_tab[1112]
#define __pyx_n_u_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9 __pyx_string_tab[1113]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS __pyx_string_tab[1114]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_string_tab[1115]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2 __pyx_string_tab[1116]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3 __pyx_string_tab[1117]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4 __pyx_string_tab[1118]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_string_tab[1119]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 __pyx_string_tab[1120]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2 __pyx_string_tab[1121]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3 __pyx_string_tab[1122]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4 __pyx_string_tab[1123]
#define __pyx_n_u_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5 __pyx_string_tab[1124]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_CONDITION __pyx_string_tab[1125]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_ERROR __pyx_string_tab[1126]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO __pyx_string_tab[1127]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI __pyx_string_tab[1128]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO __pyx_string_tab[1129]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_FLAG_USE __pyx_string_tab[1130]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_INVALID_S __pyx_string_tab[1131]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_MULTIPLE __pyx_string_tab[1132]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_NODE_OPER __pyx_string_tab[1133]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS __pyx_string_tab[1134]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_string_tab[1135]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2 __pyx_string_tab[1136]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3 __pyx_string_tab[1137]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4 __pyx_string_tab[1138]
#define __pyx_n_u_CUDA_GRAPH_INSTANTIATE_SUCCESS __pyx_string_tab[1139]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS __pyx_string_tab[1140]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st __pyx_string_tab[1141]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___reduc __pyx_string_tab[1142]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st___setst __pyx_string_tab[1143]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_st_getPtr __pyx_string_tab[1144]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v1 __pyx_string_tab[1145]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2 __pyx_string_tab[1146]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st __pyx_string_tab[1147]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___re __pyx_string_tab[1148]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st___se __pyx_string_tab[1149]
#define __pyx_n_u_CUDA_HOST_NODE_PARAMS_v2_st_getP __pyx_string_tab[1150]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS __pyx_string_tab[1151]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st __pyx_string_tab[1152]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___red __pyx_string_tab[1153]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st___set __pyx_string_tab[1154]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_st_getPt __pyx_string_tab[1155]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_string_tab[1156]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_string_tab[1157]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_string_tab[1158]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_2 __pyx_string_tab[1159]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_3 __pyx_string_tab[1160]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v2_st_ge __pyx_string_tab[1161]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3 __pyx_string_tab[1162]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_string_tab[1163]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_2 __pyx_string_tab[1164]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_3 __pyx_string_tab[1165]
#define __pyx_n_u_CUDA_KERNEL_NODE_PARAMS_v3_st_ge __pyx_string_tab[1166]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS __pyx_string_tab[1167]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st __pyx_string_tab[1168]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st___reduce_c __pyx_string_tab[1169]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st___setstate __pyx_string_tab[1170]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_st_getPtr __pyx_string_tab[1171]
#define __pyx_n_u_CUDA_LAUNCH_PARAMS_v1 __pyx_string_tab[1172]
#define __pyx_n_u_CUDA_MEMCPY2D __pyx_string_tab[1173]
#define __pyx_n_u_CUDA_MEMCPY2D_st __pyx_string_tab[1174]
#define __pyx_n_u_CUDA_MEMCPY2D_st___reduce_cython __pyx_string_tab[1175]
#define __pyx_n_u_CUDA_MEMCPY2D_st___setstate_cyth __pyx_string_tab[1176]
#define __pyx_n_u_CUDA_MEMCPY2D_st_getPtr __pyx_string_tab[1177]
#define __pyx_n_u_CUDA_MEMCPY2D_v2 __pyx_string_tab[1178]
#define __pyx_n_u_CUDA_MEMCPY3D __pyx_string_tab[1179]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP __pyx_string_tab[1180]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st __pyx_string_tab[1181]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___redu __pyx_string_tab[1182]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st___sets __pyx_string_tab[1183]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_st_getPtr __pyx_string_tab[1184]
#define __pyx_n_u_CUDA_MEMCPY3D_BATCH_OP_v1 __pyx_string_tab[1185]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER __pyx_string_tab[1186]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st __pyx_string_tab[1187]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st___reduce_c __pyx_string_tab[1188]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st___setstate __pyx_string_tab[1189]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_st_getPtr __pyx_string_tab[1190]
#define __pyx_n_u_CUDA_MEMCPY3D_PEER_v1 __pyx_string_tab[1191]
#define __pyx_n_u_CUDA_MEMCPY3D_st __pyx_string_tab[1192]
#define __pyx_n_u_CUDA_MEMCPY3D_st___reduce_cython __pyx_string_tab[1193]
#define __pyx_n_u_CUDA_MEMCPY3D_st___setstate_cyth __pyx_string_tab[1194]
#define __pyx_n_u_CUDA_MEMCPY3D_st_getPtr __pyx_string_tab[1195]
#define __pyx_n_u_CUDA_MEMCPY3D_v2 __pyx_string_tab[1196]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS __pyx_string_tab[1197]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st __pyx_string_tab[1198]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___red __pyx_string_tab[1199]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st___set __pyx_string_tab[1200]
#define __pyx_n_u_CUDA_MEMCPY_NODE_PARAMS_st_getPt __pyx_string_tab[1201]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS __pyx_string_tab[1202]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st __pyx_string_tab[1203]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___red __pyx_string_tab[1204]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st___set __pyx_string_tab[1205]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_st_getPt __pyx_string_tab[1206]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_string_tab[1207]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2 __pyx_string_tab[1208]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_string_tab[1209]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_2 __pyx_string_tab[1210]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_3 __pyx_string_tab[1211]
#define __pyx_n_u_CUDA_MEMSET_NODE_PARAMS_v2_st_ge __pyx_string_tab[1212]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS __pyx_string_tab[1213]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_string_tab[1214]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_string_tab[1215]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2 __pyx_string_tab[1216]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3 __pyx_string_tab[1217]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4 __pyx_string_tab[1218]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2 __pyx_string_tab[1219]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_string_tab[1220]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2 __pyx_string_tab[1221]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3 __pyx_string_tab[1222]
#define __pyx_n_u_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4 __pyx_string_tab[1223]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS __pyx_string_tab[1224]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_string_tab[1225]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___r __pyx_string_tab[1226]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st___s __pyx_string_tab[1227]
#define __pyx_n_u_CUDA_MEM_FREE_NODE_PARAMS_st_get __pyx_string_tab[1228]
#define __pyx_n_u_CUDA_NVSCISYNC_ATTR_SIGNAL __pyx_string_tab[1229]
#define __pyx_n_u_CUDA_NVSCISYNC_ATTR_WAIT __pyx_string_tab[1230]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_ACCESS_FL __pyx_string_tab[1231]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN __pyx_string_tab[1232]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2 __pyx_string_tab[1233]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3 __pyx_string_tab[1234]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4 __pyx_string_tab[1235]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5 __pyx_string_tab[1236]
#define __pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6 __pyx_string_tab[1237]
#define __pyx_n_u_CUDA_RESOURCE_DESC __pyx_string_tab[1238]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st __pyx_string_tab[1239]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st___reduce_c __pyx_string_tab[1240]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st___setstate __pyx_string_tab[1241]
#define __pyx_n_u_CUDA_RESOURCE_DESC_st_getPtr __pyx_string_tab[1242]
#define __pyx_n_u_CUDA_RESOURCE_DESC_v1 __pyx_string_tab[1243]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC __pyx_string_tab[1244]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st __pyx_string_tab[1245]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___red __pyx_string_tab[1246]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st___set __pyx_string_tab[1247]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_st_getPt __pyx_string_tab[1248]
#define __pyx_n_u_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_string_tab[1249]
#define __pyx_n_u_CUDA_SUCCESS __pyx_string_tab[1250]
#define __pyx_n_u_CUDA_TEXTURE_DESC __pyx_string_tab[1251]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st __pyx_string_tab[1252]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st___reduce_cy __pyx_string_tab[1253]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st___setstate __pyx_string_tab[1254]
#define __pyx_n_u_CUDA_TEXTURE_DESC_st_getPtr __pyx_string_tab[1255]
#define __pyx_n_u_CUDA_TEXTURE_DESC_v1 __pyx_string_tab[1256]
#define __pyx_n_u_CUDA_VERSION __pyx_string_tab[1257]
#define __pyx_n_u_CUGLDeviceList __pyx_string_tab[1258]
#define __pyx_n_u_CUGLmap_flags __pyx_string_tab[1259]
#define __pyx_n_u_CUGPUDirectRDMAWritesOrdering __pyx_string_tab[1260]
#define __pyx_n_u_CU_ACCESS_PROPERTY_NORMAL __pyx_string_tab[1261]
#define __pyx_n_u_CU_ACCESS_PROPERTY_PERSISTING __pyx_string_tab[1262]
#define __pyx_n_u_CU_ACCESS_PROPERTY_STREAMING __pyx_string_tab[1263]
#define __pyx_n_u_CU_AD_FORMAT_AYUV __pyx_string_tab[1264]
#define __pyx_n_u_CU_AD_FORMAT_BC1_UNORM __pyx_string_tab[1265]
#define __pyx_n_u_CU_AD_FORMAT_BC1_UNORM_SRGB __pyx_string_tab[1266]
#define __pyx_n_u_CU_AD_FORMAT_BC2_UNORM __pyx_string_tab[1267]
#define __pyx_n_u_CU_AD_FORMAT_BC2_UNORM_SRGB __pyx_string_tab[1268]
#define __pyx_n_u_CU_AD_FORMAT_BC3_UNORM __pyx_string_tab[1269]
#define __pyx_n_u_CU_AD_FORMAT_BC3_UNORM_SRGB __pyx_string_tab[1270]
#define __pyx_n_u_CU_AD_FORMAT_BC4_SNORM __pyx_string_tab[1271]
#define __pyx_n_u_CU_AD_FORMAT_BC4_UNORM __pyx_string_tab[1272]
#define __pyx_n_u_CU_AD_FORMAT_BC5_SNORM __pyx_string_tab[1273]
#define __pyx_n_u_CU_AD_FORMAT_BC5_UNORM __pyx_string_tab[1274]
#define __pyx_n_u_CU_AD_FORMAT_BC6H_SF16 __pyx_string_tab[1275]
#define __pyx_n_u_CU_AD_FORMAT_BC6H_UF16 __pyx_string_tab[1276]
#define __pyx_n_u_CU_AD_FORMAT_BC7_UNORM __pyx_string_tab[1277]
#define __pyx_n_u_CU_AD_FORMAT_BC7_UNORM_SRGB __pyx_string_tab[1278]
#define __pyx_n_u_CU_AD_FORMAT_FLOAT __pyx_string_tab[1279]
#define __pyx_n_u_CU_AD_FORMAT_HALF __pyx_string_tab[1280]
#define __pyx_n_u_CU_AD_FORMAT_MAX __pyx_string_tab[1281]
#define __pyx_n_u_CU_AD_FORMAT_NV12 __pyx_string_tab[1282]
#define __pyx_n_u_CU_AD_FORMAT_NV16 __pyx_string_tab[1283]
#define __pyx_n_u_CU_AD_FORMAT_P010 __pyx_string_tab[1284]
#define __pyx_n_u_CU_AD_FORMAT_P016 __pyx_string_tab[1285]
#define __pyx_n_u_CU_AD_FORMAT_P210 __pyx_string_tab[1286]
#define __pyx_n_u_CU_AD_FORMAT_P216 __pyx_string_tab[1287]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT16 __pyx_string_tab[1288]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT32 __pyx_string_tab[1289]
#define __pyx_n_u_CU_AD_FORMAT_SIGNED_INT8 __pyx_string_tab[1290]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X1 __pyx_string_tab[1291]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X2 __pyx_string_tab[1292]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT16X4 __pyx_string_tab[1293]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X1 __pyx_string_tab[1294]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X2 __pyx_string_tab[1295]
#define __pyx_n_u_CU_AD_FORMAT_SNORM_INT8X4 __pyx_string_tab[1296]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_PLANAR_420 __pyx_string_tab[1297]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_PLANAR_422 __pyx_string_tab[1298]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_PLANAR_444 __pyx_string_tab[1299]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_SEMIPLANAR_4 __pyx_string_tab[1300]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_SEMIPLANAR_4_2 __pyx_string_tab[1301]
#define __pyx_n_u_CU_AD_FORMAT_UINT16_SEMIPLANAR_4_3 __pyx_string_tab[1302]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_PACKED_422 __pyx_string_tab[1303]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_PACKED_444 __pyx_string_tab[1304]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_PLANAR_420 __pyx_string_tab[1305]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_PLANAR_422 __pyx_string_tab[1306]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_PLANAR_444 __pyx_string_tab[1307]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_SEMIPLANAR_42 __pyx_string_tab[1308]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_SEMIPLANAR_42_2 __pyx_string_tab[1309]
#define __pyx_n_u_CU_AD_FORMAT_UINT8_SEMIPLANAR_44 __pyx_string_tab[1310]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X1 __pyx_string_tab[1311]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X2 __pyx_string_tab[1312]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT16X4 __pyx_string_tab[1313]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X1 __pyx_string_tab[1314]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X2 __pyx_string_tab[1315]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT8X4 __pyx_string_tab[1316]
#define __pyx_n_u_CU_AD_FORMAT_UNORM_INT_101010_2 __pyx_string_tab[1317]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT16 __pyx_string_tab[1318]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT32 __pyx_string_tab[1319]
#define __pyx_n_u_CU_AD_FORMAT_UNSIGNED_INT8 __pyx_string_tab[1320]
#define __pyx_n_u_CU_AD_FORMAT_Y210 __pyx_string_tab[1321]
#define __pyx_n_u_CU_AD_FORMAT_Y216 __pyx_string_tab[1322]
#define __pyx_n_u_CU_AD_FORMAT_Y410 __pyx_string_tab[1323]
#define __pyx_n_u_CU_AD_FORMAT_Y416 __pyx_string_tab[1324]
#define __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR10 __pyx_string_tab[1325]
#define __pyx_n_u_CU_AD_FORMAT_Y444_PLANAR8 __pyx_string_tab[1326]
#define __pyx_n_u_CU_AD_FORMAT_YUV444_16bit_SemiPl __pyx_string_tab[1327]
#define __pyx_n_u_CU_AD_FORMAT_YUV444_8bit_SemiPla __pyx_string_tab[1328]
#define __pyx_n_u_CU_AD_FORMAT_YUY2 __pyx_string_tab[1329]
#define __pyx_n_u_CU_ARRAY_SPARSE_PROPERTIES_SINGL __pyx_string_tab[1330]
#define __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE __pyx_string_tab[1331]
#define __pyx_n_u_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2 __pyx_string_tab[1332]
#define __pyx_n_u_CU_ASYNC_NOTIFICATION_TYPE_OVER __pyx_string_tab[1333]
#define __pyx_n_u_CU_ATOMIC_OPERATION_AND __pyx_string_tab[1334]
#define __pyx_n_u_CU_ATOMIC_OPERATION_CAS __pyx_string_tab[1335]
#define __pyx_n_u_CU_ATOMIC_OPERATION_EXCHANGE __pyx_string_tab[1336]
#define __pyx_n_u_CU_ATOMIC_OPERATION_FLOAT_ADD __pyx_string_tab[1337]
#define __pyx_n_u_CU_ATOMIC_OPERATION_FLOAT_MAX __pyx_string_tab[1338]
#define __pyx_n_u_CU_ATOMIC_OPERATION_FLOAT_MIN __pyx_string_tab[1339]
#define __pyx_n_u_CU_ATOMIC_OPERATION_INTEGER_ADD __pyx_string_tab[1340]
#define __pyx_n_u_CU_ATOMIC_OPERATION_INTEGER_DECR __pyx_string_tab[1341]
#define __pyx_n_u_CU_ATOMIC_OPERATION_INTEGER_INCR __pyx_string_tab[1342]
#define __pyx_n_u_CU_ATOMIC_OPERATION_INTEGER_MAX __pyx_string_tab[1343]
#define __pyx_n_u_CU_ATOMIC_OPERATION_INTEGER_MIN __pyx_string_tab[1344]
#define __pyx_n_u_CU_ATOMIC_OPERATION_MAX __pyx_string_tab[1345]
#define __pyx_n_u_CU_ATOMIC_OPERATION_OR __pyx_string_tab[1346]
#define __pyx_n_u_CU_ATOMIC_OPERATION_XOR __pyx_string_tab[1347]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_DEF __pyx_string_tab[1348]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_LOA __pyx_string_tab[1349]
#define __pyx_n_u_CU_CLUSTER_SCHEDULING_POLICY_SPR __pyx_string_tab[1350]
#define __pyx_n_u_CU_COMPUTEMODE_DEFAULT __pyx_string_tab[1351]
#define __pyx_n_u_CU_COMPUTEMODE_EXCLUSIVE_PROCESS __pyx_string_tab[1352]
#define __pyx_n_u_CU_COMPUTEMODE_PROHIBITED __pyx_string_tab[1353]
#define __pyx_n_u_CU_COMPUTE_ACCELERATED_TARGET_BA __pyx_string_tab[1354]
#define __pyx_n_u_CU_COMPUTE_FAMILY_TARGET_BASE __pyx_string_tab[1355]
#define __pyx_n_u_CU_COREDUMP_DEFAULT_FLAGS __pyx_string_tab[1356]
#define __pyx_n_u_CU_COREDUMP_ENABLE_ON_EXCEPTION __pyx_string_tab[1357]
#define __pyx_n_u_CU_COREDUMP_ENABLE_USER_TRIGGER __pyx_string_tab[1358]
#define __pyx_n_u_CU_COREDUMP_FILE __pyx_string_tab[1359]
#define __pyx_n_u_CU_COREDUMP_GENERATION_FLAGS __pyx_string_tab[1360]
#define __pyx_n_u_CU_COREDUMP_GZIP_COMPRESS __pyx_string_tab[1361]
#define __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT __pyx_string_tab[1362]
#define __pyx_n_u_CU_COREDUMP_LIGHTWEIGHT_FLAGS __pyx_string_tab[1363]
#define __pyx_n_u_CU_COREDUMP_MAX __pyx_string_tab[1364]
#define __pyx_n_u_CU_COREDUMP_PIPE __pyx_string_tab[1365]
#define __pyx_n_u_CU_COREDUMP_SKIP_ABORT __pyx_string_tab[1366]
#define __pyx_n_u_CU_COREDUMP_SKIP_CONSTBANK_MEMOR __pyx_string_tab[1367]
#define __pyx_n_u_CU_COREDUMP_SKIP_GLOBAL_MEMORY __pyx_string_tab[1368]
#define __pyx_n_u_CU_COREDUMP_SKIP_LOCAL_MEMORY __pyx_string_tab[1369]
#define __pyx_n_u_CU_COREDUMP_SKIP_NONRELOCATED_EL __pyx_string_tab[1370]
#define __pyx_n_u_CU_COREDUMP_SKIP_SHARED_MEMORY __pyx_string_tab[1371]
#define __pyx_n_u_CU_COREDUMP_TRIGGER_HOST __pyx_string_tab[1372]
#define __pyx_n_u_CU_CTX_BLOCKING_SYNC __pyx_string_tab[1373]
#define __pyx_n_u_CU_CTX_COREDUMP_ENABLE __pyx_string_tab[1374]
#define __pyx_n_u_CU_CTX_FLAGS_MASK __pyx_string_tab[1375]
#define __pyx_n_u_CU_CTX_LMEM_RESIZE_TO_MAX __pyx_string_tab[1376]
#define __pyx_n_u_CU_CTX_MAP_HOST __pyx_string_tab[1377]
#define __pyx_n_u_CU_CTX_SCHED_AUTO __pyx_string_tab[1378]
#define __pyx_n_u_CU_CTX_SCHED_BLOCKING_SYNC __pyx_string_tab[1379]
#define __pyx_n_u_CU_CTX_SCHED_MASK __pyx_string_tab[1380]
#define __pyx_n_u_CU_CTX_SCHED_SPIN __pyx_string_tab[1381]
#define __pyx_n_u_CU_CTX_SCHED_YIELD __pyx_string_tab[1382]
#define __pyx_n_u_CU_CTX_SYNC_MEMOPS __pyx_string_tab[1383]
#define __pyx_n_u_CU_CTX_USER_COREDUMP_ENABLE __pyx_string_tab[1384]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_X __pyx_string_tab[1385]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Y __pyx_string_tab[1386]
#define __pyx_n_u_CU_CUBEMAP_FACE_NEGATIVE_Z __pyx_string_tab[1387]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_X __pyx_string_tab[1388]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Y __pyx_string_tab[1389]
#define __pyx_n_u_CU_CUBEMAP_FACE_POSITIVE_Z __pyx_string_tab[1390]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE __pyx_string_tab[1391]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ATOMIC_REDUC __pyx_string_tab[1392]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE __pyx_string_tab[1393]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST __pyx_string_tab[1394]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA __pyx_string_tab[1395]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B __pyx_string_tab[1396]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2 __pyx_string_tab[1397]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST __pyx_string_tab[1398]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE __pyx_string_tab[1399]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2 __pyx_string_tab[1400]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3 __pyx_string_tab[1401]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLOCK_RATE __pyx_string_tab[1402]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN __pyx_string_tab[1403]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA __pyx_string_tab[1404]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2 __pyx_string_tab[1405]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE __pyx_string_tab[1406]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE __pyx_string_tab[1407]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_K __pyx_string_tab[1408]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_CONCURRENT_M __pyx_string_tab[1409]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE __pyx_string_tab[1410]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2 __pyx_string_tab[1411]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_D3D12_CIG_SU __pyx_string_tab[1412]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP __pyx_string_tab[1413]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG __pyx_string_tab[1414]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP __pyx_string_tab[1415]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ECC_ENABLED __pyx_string_tab[1416]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GENERIC_COMP __pyx_string_tab[1417]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA __pyx_string_tab[1418]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR __pyx_string_tab[1419]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R __pyx_string_tab[1420]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2 __pyx_string_tab[1421]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3 __pyx_string_tab[1422]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4 __pyx_string_tab[1423]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP __pyx_string_tab[1424]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVI __pyx_string_tab[1425]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBS __pyx_string_tab[1426]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE __pyx_string_tab[1427]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2 __pyx_string_tab[1428]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3 __pyx_string_tab[1429]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4 __pyx_string_tab[1430]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_ALLOC_D __pyx_string_tab[1431]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_MEMORY __pyx_string_tab[1432]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NATIVE __pyx_string_tab[1433]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID __pyx_string_tab[1434]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ME __pyx_string_tab[1435]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_MU __pyx_string_tab[1436]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_NUMA_VI __pyx_string_tab[1437]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_REGISTE __pyx_string_tab[1438]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_HOST_VIRTUAL __pyx_string_tab[1439]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_INTEGRATED __pyx_string_tab[1440]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU __pyx_string_tab[1441]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC __pyx_string_tab[1442]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ __pyx_string_tab[1443]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC __pyx_string_tab[1444]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO __pyx_string_tab[1445]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX __pyx_string_tab[1446]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF __pyx_string_tab[1447]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10 __pyx_string_tab[1448]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11 __pyx_string_tab[1449]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12 __pyx_string_tab[1450]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13 __pyx_string_tab[1451]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14 __pyx_string_tab[1452]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2 __pyx_string_tab[1453]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3 __pyx_string_tab[1454]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4 __pyx_string_tab[1455]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5 __pyx_string_tab[1456]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6 __pyx_string_tab[1457]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7 __pyx_string_tab[1458]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8 __pyx_string_tab[1459]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9 __pyx_string_tab[1460]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT __pyx_string_tab[1461]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10 __pyx_string_tab[1462]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11 __pyx_string_tab[1463]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12 __pyx_string_tab[1464]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13 __pyx_string_tab[1465]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14 __pyx_string_tab[1466]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15 __pyx_string_tab[1467]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16 __pyx_string_tab[1468]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17 __pyx_string_tab[1469]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18 __pyx_string_tab[1470]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19 __pyx_string_tab[1471]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2 __pyx_string_tab[1472]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20 __pyx_string_tab[1473]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21 __pyx_string_tab[1474]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22 __pyx_string_tab[1475]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23 __pyx_string_tab[1476]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24 __pyx_string_tab[1477]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25 __pyx_string_tab[1478]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26 __pyx_string_tab[1479]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27 __pyx_string_tab[1480]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28 __pyx_string_tab[1481]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29 __pyx_string_tab[1482]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3 __pyx_string_tab[1483]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4 __pyx_string_tab[1484]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5 __pyx_string_tab[1485]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6 __pyx_string_tab[1486]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7 __pyx_string_tab[1487]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8 __pyx_string_tab[1488]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9 __pyx_string_tab[1489]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P __pyx_string_tab[1490]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P __pyx_string_tab[1491]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI __pyx_string_tab[1492]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2 __pyx_string_tab[1493]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3 __pyx_string_tab[1494]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM __pyx_string_tab[1495]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2 __pyx_string_tab[1496]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3 __pyx_string_tab[1497]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI __pyx_string_tab[1498]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_PITCH __pyx_string_tab[1499]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER __pyx_string_tab[1500]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2 __pyx_string_tab[1501]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M __pyx_string_tab[1502]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2 __pyx_string_tab[1503]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3 __pyx_string_tab[1504]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS __pyx_string_tab[1505]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2 __pyx_string_tab[1506]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK __pyx_string_tab[1507]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS __pyx_string_tab[1508]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP __pyx_string_tab[1509]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE __pyx_string_tab[1510]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_DECOMPRE_2 __pyx_string_tab[1511]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[1512]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MPS_ENABLED __pyx_string_tab[1513]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTICAST_SU __pyx_string_tab[1514]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTIPROCESS __pyx_string_tab[1515]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO __pyx_string_tab[1516]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2 __pyx_string_tab[1517]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG __pyx_string_tab[1518]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_NUMA_ID __pyx_string_tab[1519]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_ONLY_PARTIAL __pyx_string_tab[1520]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM __pyx_string_tab[1521]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2 __pyx_string_tab[1522]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID __pyx_string_tab[1523]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I __pyx_string_tab[1524]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I __pyx_string_tab[1525]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO __pyx_string_tab[1526]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_REGISTERS_PE __pyx_string_tab[1527]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_RESERVED_SHA __pyx_string_tab[1528]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR __pyx_string_tab[1529]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO __pyx_string_tab[1530]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA __pyx_string_tab[1531]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR __pyx_string_tab[1532]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG __pyx_string_tab[1533]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TCC_DRIVER __pyx_string_tab[1534]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A __pyx_string_tab[1535]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG __pyx_string_tab[1536]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC __pyx_string_tab[1537]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM __pyx_string_tab[1538]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA __pyx_string_tab[1539]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR __pyx_string_tab[1540]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC __pyx_string_tab[1541]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR __pyx_string_tab[1542]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO __pyx_string_tab[1543]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_VULKAN_CIG_S __pyx_string_tab[1544]
#define __pyx_n_u_CU_DEVICE_ATTRIBUTE_WARP_SIZE __pyx_string_tab[1545]
#define __pyx_n_u_CU_DEVICE_CPU __pyx_string_tab[1546]
#define __pyx_n_u_CU_DEVICE_INVALID __pyx_string_tab[1547]
#define __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NONE __pyx_string_tab[1548]
#define __pyx_n_u_CU_DEVICE_NUMA_CONFIG_NUMA_NODE __pyx_string_tab[1549]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A __pyx_string_tab[1550]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S __pyx_string_tab[1551]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR __pyx_string_tab[1552]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A __pyx_string_tab[1553]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_ONLY_PAR __pyx_string_tab[1554]
#define __pyx_n_u_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA __pyx_string_tab[1555]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_INVALID __pyx_string_tab[1556]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_SM __pyx_string_tab[1557]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_WORKQUEUE __pyx_string_tab[1558]
#define __pyx_n_u_CU_DEV_RESOURCE_TYPE_WORKQUEUE_C __pyx_string_tab[1559]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_BACKFIL __pyx_string_tab[1560]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_DEFAULT __pyx_string_tab[1561]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS __pyx_string_tab[1562]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS_2 __pyx_string_tab[1563]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS_3 __pyx_string_tab[1564]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS_4 __pyx_string_tab[1565]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS_5 __pyx_string_tab[1566]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_IGNORE __pyx_string_tab[1567]
#define __pyx_n_u_CU_DEV_SM_RESOURCE_SPLIT_MAX_POT __pyx_string_tab[1568]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_A __pyx_string_tab[1569]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_ABGR __pyx_string_tab[1570]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_ARGB __pyx_string_tab[1571]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV __pyx_string_tab[1572]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_AYUV_ER __pyx_string_tab[1573]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_BGGR __pyx_string_tab[1574]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_CCCC __pyx_string_tab[1575]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GBRG __pyx_string_tab[1576]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_GRBG __pyx_string_tab[1577]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER10_RGGB __pyx_string_tab[1578]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BCCR __pyx_string_tab[1579]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_BGGR __pyx_string_tab[1580]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CBRC __pyx_string_tab[1581]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CCCC __pyx_string_tab[1582]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_CRBC __pyx_string_tab[1583]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GBRG __pyx_string_tab[1584]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_GRBG __pyx_string_tab[1585]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RCCB __pyx_string_tab[1586]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER12_RGGB __pyx_string_tab[1587]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_BGGR __pyx_string_tab[1588]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GBRG __pyx_string_tab[1589]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_GRBG __pyx_string_tab[1590]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER14_RGGB __pyx_string_tab[1591]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_BGGR __pyx_string_tab[1592]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GBRG __pyx_string_tab[1593]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_GRBG __pyx_string_tab[1594]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER20_RGGB __pyx_string_tab[1595]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BCCR __pyx_string_tab[1596]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_BGGR __pyx_string_tab[1597]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CBRC __pyx_string_tab[1598]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_CRBC __pyx_string_tab[1599]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GBRG __pyx_string_tab[1600]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_GRBG __pyx_string_tab[1601]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG __pyx_string_tab[1602]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB __pyx_string_tab[1603]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR __pyx_string_tab[1604]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG __pyx_string_tab[1605]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RCCB __pyx_string_tab[1606]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BAYER_RGGB __pyx_string_tab[1607]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BGR __pyx_string_tab[1608]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_BGRA __pyx_string_tab[1609]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_L __pyx_string_tab[1610]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_MAX __pyx_string_tab[1611]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_R __pyx_string_tab[1612]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RG __pyx_string_tab[1613]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RGB __pyx_string_tab[1614]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_RGBA __pyx_string_tab[1615]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_2020 __pyx_string_tab[1616]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_422 __pyx_string_tab[1617]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709 __pyx_string_tab[1618]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_709_ER __pyx_string_tab[1619]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_UYVY_ER __pyx_string_tab[1620]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY __pyx_string_tab[1621]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_VYUY_ER __pyx_string_tab[1622]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y __pyx_string_tab[1623]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42 __pyx_string_tab[1624]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2 __pyx_string_tab[1625]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3 __pyx_string_tab[1626]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4 __pyx_string_tab[1627]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5 __pyx_string_tab[1628]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6 __pyx_string_tab[1629]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7 __pyx_string_tab[1630]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8 __pyx_string_tab[1631]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44 __pyx_string_tab[1632]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2 __pyx_string_tab[1633]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3 __pyx_string_tab[1634]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_709_ER __pyx_string_tab[1635]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y10_ER __pyx_string_tab[1636]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42 __pyx_string_tab[1637]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2 __pyx_string_tab[1638]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3 __pyx_string_tab[1639]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44 __pyx_string_tab[1640]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2 __pyx_string_tab[1641]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3 __pyx_string_tab[1642]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_709_ER __pyx_string_tab[1643]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y12_ER __pyx_string_tab[1644]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV __pyx_string_tab[1645]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA __pyx_string_tab[1646]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2 __pyx_string_tab[1647]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3 __pyx_string_tab[1648]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4 __pyx_string_tab[1649]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP __pyx_string_tab[1650]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2 __pyx_string_tab[1651]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3 __pyx_string_tab[1652]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4 __pyx_string_tab[1653]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA __pyx_string_tab[1654]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2 __pyx_string_tab[1655]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP __pyx_string_tab[1656]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2 __pyx_string_tab[1657]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA __pyx_string_tab[1658]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2 __pyx_string_tab[1659]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP __pyx_string_tab[1660]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2 __pyx_string_tab[1661]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA __pyx_string_tab[1662]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUVA_ER __pyx_string_tab[1663]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUV_ER __pyx_string_tab[1664]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_422 __pyx_string_tab[1665]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YUYV_ER __pyx_string_tab[1666]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA __pyx_string_tab[1667]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2 __pyx_string_tab[1668]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3 __pyx_string_tab[1669]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4 __pyx_string_tab[1670]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP __pyx_string_tab[1671]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2 __pyx_string_tab[1672]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3 __pyx_string_tab[1673]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4 __pyx_string_tab[1674]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA __pyx_string_tab[1675]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2 __pyx_string_tab[1676]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP __pyx_string_tab[1677]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2 __pyx_string_tab[1678]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA __pyx_string_tab[1679]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2 __pyx_string_tab[1680]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP __pyx_string_tab[1681]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2 __pyx_string_tab[1682]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU __pyx_string_tab[1683]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_YVYU_ER __pyx_string_tab[1684]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_709_ER __pyx_string_tab[1685]
#define __pyx_n_u_CU_EGL_COLOR_FORMAT_Y_ER __pyx_string_tab[1686]
#define __pyx_n_u_CU_EGL_FRAME_TYPE_ARRAY __pyx_string_tab[1687]
#define __pyx_n_u_CU_EGL_FRAME_TYPE_PITCH __pyx_string_tab[1688]
#define __pyx_n_u_CU_EGL_RESOURCE_LOCATION_SYSMEM __pyx_string_tab[1689]
#define __pyx_n_u_CU_EGL_RESOURCE_LOCATION_VIDMEM __pyx_string_tab[1690]
#define __pyx_n_u_CU_EVENT_BLOCKING_SYNC __pyx_string_tab[1691]
#define __pyx_n_u_CU_EVENT_DEFAULT __pyx_string_tab[1692]
#define __pyx_n_u_CU_EVENT_DISABLE_TIMING __pyx_string_tab[1693]
#define __pyx_n_u_CU_EVENT_INTERPROCESS __pyx_string_tab[1694]
#define __pyx_n_u_CU_EVENT_RECORD_DEFAULT __pyx_string_tab[1695]
#define __pyx_n_u_CU_EVENT_RECORD_EXTERNAL __pyx_string_tab[1696]
#define __pyx_n_u_CU_EVENT_SCHED_AUTO __pyx_string_tab[1697]
#define __pyx_n_u_CU_EVENT_SCHED_BLOCKING_SYNC __pyx_string_tab[1698]
#define __pyx_n_u_CU_EVENT_SCHED_SPIN __pyx_string_tab[1699]
#define __pyx_n_u_CU_EVENT_SCHED_YIELD __pyx_string_tab[1700]
#define __pyx_n_u_CU_EVENT_WAIT_DEFAULT __pyx_string_tab[1701]
#define __pyx_n_u_CU_EVENT_WAIT_EXTERNAL __pyx_string_tab[1702]
#define __pyx_n_u_CU_EXEC_AFFINITY_TYPE_MAX __pyx_string_tab[1703]
#define __pyx_n_u_CU_EXEC_AFFINITY_TYPE_SM_COUNT __pyx_string_tab[1704]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D __pyx_string_tab[1705]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2 __pyx_string_tab[1706]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3 __pyx_string_tab[1707]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4 __pyx_string_tab[1708]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_5 __pyx_string_tab[1709]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N __pyx_string_tab[1710]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O __pyx_string_tab[1711]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2 __pyx_string_tab[1712]
#define __pyx_n_u_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3 __pyx_string_tab[1713]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP __pyx_string_tab[1714]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10 __pyx_string_tab[1715]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2 __pyx_string_tab[1716]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3 __pyx_string_tab[1717]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4 __pyx_string_tab[1718]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5 __pyx_string_tab[1719]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6 __pyx_string_tab[1720]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7 __pyx_string_tab[1721]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8 __pyx_string_tab[1722]
#define __pyx_n_u_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9 __pyx_string_tab[1723]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES __pyx_string_tab[1724]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2 __pyx_string_tab[1725]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3 __pyx_string_tab[1726]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4 __pyx_string_tab[1727]
#define __pyx_n_u_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5 __pyx_string_tab[1728]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_LOADED __pyx_string_tab[1729]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_MAX __pyx_string_tab[1730]
#define __pyx_n_u_CU_FUNCTION_LOADING_STATE_UNLOAD __pyx_string_tab[1731]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_BINARY_VERSION __pyx_string_tab[1732]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA __pyx_string_tab[1733]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU __pyx_string_tab[1734]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M __pyx_string_tab[1735]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT __pyx_string_tab[1736]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT __pyx_string_tab[1737]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX __pyx_string_tab[1738]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH __pyx_string_tab[1739]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE __pyx_string_tab[1740]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C __pyx_string_tab[1741]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_NUM_REGS __pyx_string_tab[1742]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR __pyx_string_tab[1743]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_PTX_VERSION __pyx_string_tab[1744]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST __pyx_string_tab[1745]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2 __pyx_string_tab[1746]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3 __pyx_string_tab[1747]
#define __pyx_n_u_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY __pyx_string_tab[1748]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_EQUAL __pyx_string_tab[1749]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_L1 __pyx_string_tab[1750]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_NONE __pyx_string_tab[1751]
#define __pyx_n_u_CU_FUNC_CACHE_PREFER_SHARED __pyx_string_tab[1752]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_DEFAULT __pyx_string_tab[1753]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_LEGACY_STREA __pyx_string_tab[1754]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_PER_THREAD_D __pyx_string_tab[1755]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_SUCCESS __pyx_string_tab[1756]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F __pyx_string_tab[1757]
#define __pyx_n_u_CU_GET_PROC_ADDRESS_VERSION_NOT __pyx_string_tab[1758]
#define __pyx_n_u_CU_GL_DEVICE_LIST_ALL __pyx_string_tab[1759]
#define __pyx_n_u_CU_GL_DEVICE_LIST_CURRENT_FRAME __pyx_string_tab[1760]
#define __pyx_n_u_CU_GL_DEVICE_LIST_NEXT_FRAME __pyx_string_tab[1761]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_NONE __pyx_string_tab[1762]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_READ_ON __pyx_string_tab[1763]
#define __pyx_n_u_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D __pyx_string_tab[1764]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI __pyx_string_tab[1765]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2 __pyx_string_tab[1766]
#define __pyx_n_u_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3 __pyx_string_tab[1767]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N __pyx_string_tab[1768]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R __pyx_string_tab[1769]
#define __pyx_n_u_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W __pyx_string_tab[1770]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_NONE __pyx_string_tab[1771]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_READ __pyx_string_tab[1772]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_SURFA __pyx_string_tab[1773]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_TEXTU __pyx_string_tab[1774]
#define __pyx_n_u_CU_GRAPHICS_REGISTER_FLAGS_WRITE __pyx_string_tab[1775]
#define __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_C __pyx_string_tab[1776]
#define __pyx_n_u_CU_GRAPH_CHILD_GRAPH_OWNERSHIP_M __pyx_string_tab[1777]
#define __pyx_n_u_CU_GRAPH_COND_ASSIGN_DEFAULT __pyx_string_tab[1778]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_IF __pyx_string_tab[1779]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_SWITCH __pyx_string_tab[1780]
#define __pyx_n_u_CU_GRAPH_COND_TYPE_WHILE __pyx_string_tab[1781]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M __pyx_string_tab[1782]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI __pyx_string_tab[1783]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N __pyx_string_tab[1784]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T __pyx_string_tab[1785]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM __pyx_string_tab[1786]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2 __pyx_string_tab[1787]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES __pyx_string_tab[1788]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO __pyx_string_tab[1789]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL __pyx_string_tab[1790]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2 __pyx_string_tab[1791]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY __pyx_string_tab[1792]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET __pyx_string_tab[1793]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL __pyx_string_tab[1794]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE __pyx_string_tab[1795]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME __pyx_string_tab[1796]
#define __pyx_n_u_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE __pyx_string_tab[1797]
#define __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT __pyx_string_tab[1798]
#define __pyx_n_u_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM __pyx_string_tab[1799]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR __pyx_string_tab[1800]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI __pyx_string_tab[1801]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT __pyx_string_tab[1802]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NODE __pyx_string_tab[1803]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S __pyx_string_tab[1804]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM __pyx_string_tab[1805]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL __pyx_string_tab[1806]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP __pyx_string_tab[1807]
#define __pyx_n_u_CU_GRAPH_EXEC_UPDATE_SUCCESS __pyx_string_tab[1808]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL __pyx_string_tab[1809]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH __pyx_string_tab[1810]
#define __pyx_n_u_CU_GRAPH_KERNEL_NODE_PORT_PROGRA __pyx_string_tab[1811]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C __pyx_string_tab[1812]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H __pyx_string_tab[1813]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE __pyx_string_tab[1814]
#define __pyx_n_u_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH __pyx_string_tab[1815]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP __pyx_string_tab[1816]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_CONDITIONAL __pyx_string_tab[1817]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EMPTY __pyx_string_tab[1818]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EVENT_RECORD __pyx_string_tab[1819]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG __pyx_string_tab[1820]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI __pyx_string_tab[1821]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_GRAPH __pyx_string_tab[1822]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_HOST __pyx_string_tab[1823]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_KERNEL __pyx_string_tab[1824]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMCPY __pyx_string_tab[1825]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEMSET __pyx_string_tab[1826]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_ALLOC __pyx_string_tab[1827]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_MEM_FREE __pyx_string_tab[1828]
#define __pyx_n_u_CU_GRAPH_NODE_TYPE_WAIT_EVENT __pyx_string_tab[1829]
#define __pyx_n_u_CU_GRAPH_USER_OBJECT_MOVE __pyx_string_tab[1830]
#define __pyx_n_u_CU_GREEN_CTX_DEFAULT_STREAM __pyx_string_tab[1831]
#define __pyx_n_u_CU_IPC_HANDLE_SIZE __pyx_string_tab[1832]
#define __pyx_n_u_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE __pyx_string_tab[1833]
#define __pyx_n_u_CU_JIT_BINARY_LOADER_THREAD_COUN __pyx_string_tab[1834]
#define __pyx_n_u_CU_JIT_CACHE_MODE __pyx_string_tab[1835]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_CA __pyx_string_tab[1836]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_CG __pyx_string_tab[1837]
#define __pyx_n_u_CU_JIT_CACHE_OPTION_NONE __pyx_string_tab[1838]
#define __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER __pyx_string_tab[1839]
#define __pyx_n_u_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT __pyx_string_tab[1840]
#define __pyx_n_u_CU_JIT_FALLBACK_STRATEGY __pyx_string_tab[1841]
#define __pyx_n_u_CU_JIT_FAST_COMPILE __pyx_string_tab[1842]
#define __pyx_n_u_CU_JIT_FMA __pyx_string_tab[1843]
#define __pyx_n_u_CU_JIT_FTZ __pyx_string_tab[1844]
#define __pyx_n_u_CU_JIT_GENERATE_DEBUG_INFO __pyx_string_tab[1845]
#define __pyx_n_u_CU_JIT_GENERATE_LINE_INFO __pyx_string_tab[1846]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_ADDRESSES __pyx_string_tab[1847]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_COUNT __pyx_string_tab[1848]
#define __pyx_n_u_CU_JIT_GLOBAL_SYMBOL_NAMES __pyx_string_tab[1849]
#define __pyx_n_u_CU_JIT_INFO_LOG_BUFFER __pyx_string_tab[1850]
#define __pyx_n_u_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE __pyx_string_tab[1851]
#define __pyx_n_u_CU_JIT_INPUT_CUBIN __pyx_string_tab[1852]
#define __pyx_n_u_CU_JIT_INPUT_FATBINARY __pyx_string_tab[1853]
#define __pyx_n_u_CU_JIT_INPUT_LIBRARY __pyx_string_tab[1854]
#define __pyx_n_u_CU_JIT_INPUT_NVVM __pyx_string_tab[1855]
#define __pyx_n_u_CU_JIT_INPUT_OBJECT __pyx_string_tab[1856]
#define __pyx_n_u_CU_JIT_INPUT_PTX __pyx_string_tab[1857]
#define __pyx_n_u_CU_JIT_LOG_VERBOSE __pyx_string_tab[1858]
#define __pyx_n_u_CU_JIT_LTO __pyx_string_tab[1859]
#define __pyx_n_u_CU_JIT_MAX_REGISTERS __pyx_string_tab[1860]
#define __pyx_n_u_CU_JIT_MAX_THREADS_PER_BLOCK __pyx_string_tab[1861]
#define __pyx_n_u_CU_JIT_MIN_CTA_PER_SM __pyx_string_tab[1862]
#define __pyx_n_u_CU_JIT_NEW_SM3X_OPT __pyx_string_tab[1863]
#define __pyx_n_u_CU_JIT_NUM_INPUT_TYPES __pyx_string_tab[1864]
#define __pyx_n_u_CU_JIT_NUM_OPTIONS __pyx_string_tab[1865]
#define __pyx_n_u_CU_JIT_OPTIMIZATION_LEVEL __pyx_string_tab[1866]
#define __pyx_n_u_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA __pyx_string_tab[1867]
#define __pyx_n_u_CU_JIT_OVERRIDE_DIRECTIVE_VALUES __pyx_string_tab[1868]
#define __pyx_n_u_CU_JIT_POSITION_INDEPENDENT_CODE __pyx_string_tab[1869]
#define __pyx_n_u_CU_JIT_PREC_DIV __pyx_string_tab[1870]
#define __pyx_n_u_CU_JIT_PREC_SQRT __pyx_string_tab[1871]
#define __pyx_n_u_CU_JIT_REFERENCED_KERNEL_COUNT __pyx_string_tab[1872]
#define __pyx_n_u_CU_JIT_REFERENCED_KERNEL_NAMES __pyx_string_tab[1873]
#define __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_COUNT __pyx_string_tab[1874]
#define __pyx_n_u_CU_JIT_REFERENCED_VARIABLE_NAMES __pyx_string_tab[1875]
#define __pyx_n_u_CU_JIT_SPLIT_COMPILE __pyx_string_tab[1876]
#define __pyx_n_u_CU_JIT_TARGET __pyx_string_tab[1877]
#define __pyx_n_u_CU_JIT_TARGET_FROM_CUCONTEXT __pyx_string_tab[1878]
#define __pyx_n_u_CU_JIT_THREADS_PER_BLOCK __pyx_string_tab[1879]
#define __pyx_n_u_CU_JIT_WALL_TIME __pyx_string_tab[1880]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_ACCESS __pyx_string_tab[1881]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER __pyx_string_tab[1882]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2 __pyx_string_tab[1883]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_COOPERA __pyx_string_tab[1884]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_DEVICE __pyx_string_tab[1885]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN __pyx_string_tab[1886]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2 __pyx_string_tab[1887]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR __pyx_string_tab[1888]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PREFERR_2 __pyx_string_tab[1889]
#define __pyx_n_u_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT __pyx_string_tab[1890]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC __pyx_string_tab[1891]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME __pyx_string_tab[1892]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE __pyx_string_tab[1893]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_COOPERATIVE __pyx_string_tab[1894]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT __pyx_string_tab[1895]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_IGNORE __pyx_string_tab[1896]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL __pyx_string_tab[1897]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[1898]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_string_tab[1899]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL __pyx_string_tab[1900]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_CL __pyx_string_tab[1901]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PREFERRED_SH __pyx_string_tab[1902]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PRIORITY __pyx_string_tab[1903]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC __pyx_string_tab[1904]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2 __pyx_string_tab[1905]
#define __pyx_n_u_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT __pyx_string_tab[1906]
#define __pyx_n_u_CU_LAUNCH_KERNEL_REQUIRED_BLOCK __pyx_string_tab[1907]
#define __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL __pyx_string_tab[1908]
#define __pyx_n_u_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE __pyx_string_tab[1909]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER __pyx_string_tab[1910]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_POINTER_A __pyx_string_tab[1911]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE __pyx_string_tab[1912]
#define __pyx_n_u_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I __pyx_string_tab[1913]
#define __pyx_n_u_CU_LAUNCH_PARAM_END __pyx_string_tab[1914]
#define __pyx_n_u_CU_LAUNCH_PARAM_END_AS_INT __pyx_string_tab[1915]
#define __pyx_n_u_CU_LIBRARY_BINARY_IS_PRESERVED __pyx_string_tab[1916]
#define __pyx_n_u_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI __pyx_string_tab[1917]
#define __pyx_n_u_CU_LIBRARY_NUM_OPTIONS __pyx_string_tab[1918]
#define __pyx_n_u_CU_LIMIT_CIG_ENABLED __pyx_string_tab[1919]
#define __pyx_n_u_CU_LIMIT_CIG_SHMEM_FALLBACK_ENAB __pyx_string_tab[1920]
#define __pyx_n_u_CU_LIMIT_DEV_RUNTIME_PENDING_LAU __pyx_string_tab[1921]
#define __pyx_n_u_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH __pyx_string_tab[1922]
#define __pyx_n_u_CU_LIMIT_MALLOC_HEAP_SIZE __pyx_string_tab[1923]
#define __pyx_n_u_CU_LIMIT_MAX __pyx_string_tab[1924]
#define __pyx_n_u_CU_LIMIT_MAX_L2_FETCH_GRANULARIT __pyx_string_tab[1925]
#define __pyx_n_u_CU_LIMIT_PERSISTING_L2_CACHE_SIZ __pyx_string_tab[1926]
#define __pyx_n_u_CU_LIMIT_PRINTF_FIFO_SIZE __pyx_string_tab[1927]
#define __pyx_n_u_CU_LIMIT_SHMEM_SIZE __pyx_string_tab[1928]
#define __pyx_n_u_CU_LIMIT_STACK_SIZE __pyx_string_tab[1929]
#define __pyx_n_u_CU_LOG_LEVEL_ERROR __pyx_string_tab[1930]
#define __pyx_n_u_CU_LOG_LEVEL_WARNING __pyx_string_tab[1931]
#define __pyx_n_u_CU_MEMCPY_FLAG_DEFAULT __pyx_string_tab[1932]
#define __pyx_n_u_CU_MEMCPY_FLAG_PREFER_OVERLAP_WI __pyx_string_tab[1933]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_ARRAY __pyx_string_tab[1934]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_MAX __pyx_string_tab[1935]
#define __pyx_n_u_CU_MEMCPY_OPERAND_TYPE_POINTER __pyx_string_tab[1936]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_ANY __pyx_string_tab[1937]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_DURIN __pyx_string_tab[1938]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_INVAL __pyx_string_tab[1939]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_MAX __pyx_string_tab[1940]
#define __pyx_n_u_CU_MEMCPY_SRC_ACCESS_ORDER_STREA __pyx_string_tab[1941]
#define __pyx_n_u_CU_MEMHOSTALLOC_DEVICEMAP __pyx_string_tab[1942]
#define __pyx_n_u_CU_MEMHOSTALLOC_PORTABLE __pyx_string_tab[1943]
#define __pyx_n_u_CU_MEMHOSTALLOC_WRITECOMBINED __pyx_string_tab[1944]
#define __pyx_n_u_CU_MEMHOSTREGISTER_DEVICEMAP __pyx_string_tab[1945]
#define __pyx_n_u_CU_MEMHOSTREGISTER_IOMEMORY __pyx_string_tab[1946]
#define __pyx_n_u_CU_MEMHOSTREGISTER_PORTABLE __pyx_string_tab[1947]
#define __pyx_n_u_CU_MEMHOSTREGISTER_READ_ONLY __pyx_string_tab[1948]
#define __pyx_n_u_CU_MEMORYTYPE_ARRAY __pyx_string_tab[1949]
#define __pyx_n_u_CU_MEMORYTYPE_DEVICE __pyx_string_tab[1950]
#define __pyx_n_u_CU_MEMORYTYPE_HOST __pyx_string_tab[1951]
#define __pyx_n_u_CU_MEMORYTYPE_UNIFIED __pyx_string_tab[1952]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RELEASE_THRESHOL __pyx_string_tab[1953]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR __pyx_string_tab[1954]
#define __pyx_n_u_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG __pyx_string_tab[1955]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE __pyx_string_tab[1956]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO __pyx_string_tab[1957]
#define __pyx_n_u_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE __pyx_string_tab[1958]
#define __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_CURRENT __pyx_string_tab[1959]
#define __pyx_n_u_CU_MEMPOOL_ATTR_USED_MEM_HIGH __pyx_string_tab[1960]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_MAX __pyx_string_tab[1961]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_NONE __pyx_string_tab[1962]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READ __pyx_string_tab[1963]
#define __pyx_n_u_CU_MEM_ACCESS_FLAGS_PROT_READWRI __pyx_string_tab[1964]
#define __pyx_n_u_CU_MEM_ADVISE_SET_ACCESSED_BY __pyx_string_tab[1965]
#define __pyx_n_u_CU_MEM_ADVISE_SET_PREFERRED_LOCA __pyx_string_tab[1966]
#define __pyx_n_u_CU_MEM_ADVISE_SET_READ_MOSTLY __pyx_string_tab[1967]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_ACCESSED_BY __pyx_string_tab[1968]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_PREFERRED_LO __pyx_string_tab[1969]
#define __pyx_n_u_CU_MEM_ADVISE_UNSET_READ_MOSTLY __pyx_string_tab[1970]
#define __pyx_n_u_CU_MEM_ALLOCATION_COMP_GENERIC __pyx_string_tab[1971]
#define __pyx_n_u_CU_MEM_ALLOCATION_COMP_NONE __pyx_string_tab[1972]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_INVALID __pyx_string_tab[1973]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_MANAGED __pyx_string_tab[1974]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_MAX __pyx_string_tab[1975]
#define __pyx_n_u_CU_MEM_ALLOCATION_TYPE_PINNED __pyx_string_tab[1976]
#define __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_MINIMUM __pyx_string_tab[1977]
#define __pyx_n_u_CU_MEM_ALLOC_GRANULARITY_RECOMME __pyx_string_tab[1978]
#define __pyx_n_u_CU_MEM_ATTACH_GLOBAL __pyx_string_tab[1979]
#define __pyx_n_u_CU_MEM_ATTACH_HOST __pyx_string_tab[1980]
#define __pyx_n_u_CU_MEM_ATTACH_SINGLE __pyx_string_tab[1981]
#define __pyx_n_u_CU_MEM_CREATE_USAGE_HW_DECOMPRES __pyx_string_tab[1982]
#define __pyx_n_u_CU_MEM_CREATE_USAGE_TILE_POOL __pyx_string_tab[1983]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_DEFL __pyx_string_tab[1984]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_LZ4 __pyx_string_tab[1985]
#define __pyx_n_u_CU_MEM_DECOMPRESS_ALGORITHM_SNAP __pyx_string_tab[1986]
#define __pyx_n_u_CU_MEM_DECOMPRESS_UNSUPPORTED __pyx_string_tab[1987]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_FABRIC __pyx_string_tab[1988]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_GENERIC __pyx_string_tab[1989]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_MAX __pyx_string_tab[1990]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_NONE __pyx_string_tab[1991]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE __pyx_string_tab[1992]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32 __pyx_string_tab[1993]
#define __pyx_n_u_CU_MEM_HANDLE_TYPE_WIN32_KMT __pyx_string_tab[1994]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_DEVICE __pyx_string_tab[1995]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST __pyx_string_tab[1996]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA __pyx_string_tab[1997]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_HOST_NUMA_C __pyx_string_tab[1998]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_INVALID __pyx_string_tab[1999]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_MAX __pyx_string_tab[2000]
#define __pyx_n_u_CU_MEM_LOCATION_TYPE_NONE __pyx_string_tab[2001]
#define __pyx_n_u_CU_MEM_OPERATION_TYPE_MAP __pyx_string_tab[2002]
#define __pyx_n_u_CU_MEM_OPERATION_TYPE_UNMAP __pyx_string_tab[2003]
#define __pyx_n_u_CU_MEM_POOL_CREATE_USAGE_HW_DECO __pyx_string_tab[2004]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_ACCESSED __pyx_string_tab[2005]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF __pyx_string_tab[2006]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2 __pyx_string_tab[2007]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3 __pyx_string_tab[2008]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED __pyx_string_tab[2009]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2 __pyx_string_tab[2010]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3 __pyx_string_tab[2011]
#define __pyx_n_u_CU_MEM_RANGE_ATTRIBUTE_READ_MOST __pyx_string_tab[2012]
#define __pyx_n_u_CU_MEM_RANGE_FLAG_DMA_BUF_MAPPIN __pyx_string_tab[2013]
#define __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF __pyx_string_tab[2014]
#define __pyx_n_u_CU_MEM_RANGE_HANDLE_TYPE_MAX __pyx_string_tab[2015]
#define __pyx_n_u_CU_MODULE_EAGER_LOADING __pyx_string_tab[2016]
#define __pyx_n_u_CU_MODULE_LAZY_LOADING __pyx_string_tab[2017]
#define __pyx_n_u_CU_MULTICAST_GRANULARITY_MINIMUM __pyx_string_tab[2018]
#define __pyx_n_u_CU_MULTICAST_GRANULARITY_RECOMME __pyx_string_tab[2019]
#define __pyx_n_u_CU_OCCUPANCY_DEFAULT __pyx_string_tab[2020]
#define __pyx_n_u_CU_OCCUPANCY_DISABLE_CACHING_OVE __pyx_string_tab[2021]
#define __pyx_n_u_CU_OUT_CSV __pyx_string_tab[2022]
#define __pyx_n_u_CU_OUT_KEY_VALUE_PAIR __pyx_string_tab[2023]
#define __pyx_n_u_CU_PARAM_TR_DEFAULT __pyx_string_tab[2024]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG __pyx_string_tab[2025]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2 __pyx_string_tab[2026]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3 __pyx_string_tab[2027]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4 __pyx_string_tab[2028]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_ALLOWED_HAN __pyx_string_tab[2029]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_BUFFER_ID __pyx_string_tab[2030]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_CONTEXT __pyx_string_tab[2031]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_ORDI __pyx_string_tab[2032]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_DEVICE_POIN __pyx_string_tab[2033]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_HOST_POINTE __pyx_string_tab[2034]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE __pyx_string_tab[2035]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_HW_DECOM __pyx_string_tab[2036]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_LEGACY_C __pyx_string_tab[2037]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_IS_MANAGED __pyx_string_tab[2038]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPED __pyx_string_tab[2039]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_BAS __pyx_string_tab[2040]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MAPPING_SIZ __pyx_string_tab[2041]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_BLOC __pyx_string_tab[2042]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMORY_TYPE __pyx_string_tab[2043]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN __pyx_string_tab[2044]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_P2P_TOKENS __pyx_string_tab[2045]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_SIZE __pyx_string_tab[2046]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_RANGE_START __pyx_string_tab[2047]
#define __pyx_n_u_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS __pyx_string_tab[2048]
#define __pyx_n_u_CU_PREFER_BINARY __pyx_string_tab[2049]
#define __pyx_n_u_CU_PREFER_PTX __pyx_string_tab[2050]
#define __pyx_n_u_CU_PROCESS_STATE_CHECKPOINTED __pyx_string_tab[2051]
#define __pyx_n_u_CU_PROCESS_STATE_FAILED __pyx_string_tab[2052]
#define __pyx_n_u_CU_PROCESS_STATE_LOCKED __pyx_string_tab[2053]
#define __pyx_n_u_CU_PROCESS_STATE_RUNNING __pyx_string_tab[2054]
#define __pyx_n_u_CU_RESOURCE_TYPE_ARRAY __pyx_string_tab[2055]
#define __pyx_n_u_CU_RESOURCE_TYPE_LINEAR __pyx_string_tab[2056]
#define __pyx_n_u_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY __pyx_string_tab[2057]
#define __pyx_n_u_CU_RESOURCE_TYPE_PITCH2D __pyx_string_tab[2058]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X16 __pyx_string_tab[2059]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_1X32 __pyx_string_tab[2060]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X16 __pyx_string_tab[2061]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_2X32 __pyx_string_tab[2062]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X16 __pyx_string_tab[2063]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_FLOAT_4X32 __pyx_string_tab[2064]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_NONE __pyx_string_tab[2065]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC4 __pyx_string_tab[2066]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC5 __pyx_string_tab[2067]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SIGNED_BC6H __pyx_string_tab[2068]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X16 __pyx_string_tab[2069]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X32 __pyx_string_tab[2070]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_1X8 __pyx_string_tab[2071]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X16 __pyx_string_tab[2072]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X32 __pyx_string_tab[2073]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_2X8 __pyx_string_tab[2074]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X16 __pyx_string_tab[2075]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X32 __pyx_string_tab[2076]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_SINT_4X8 __pyx_string_tab[2077]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X16 __pyx_string_tab[2078]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X32 __pyx_string_tab[2079]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_1X8 __pyx_string_tab[2080]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X16 __pyx_string_tab[2081]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X32 __pyx_string_tab[2082]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_2X8 __pyx_string_tab[2083]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X16 __pyx_string_tab[2084]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X32 __pyx_string_tab[2085]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UINT_4X8 __pyx_string_tab[2086]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC1 __pyx_string_tab[2087]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC2 __pyx_string_tab[2088]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC3 __pyx_string_tab[2089]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC4 __pyx_string_tab[2090]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC5 __pyx_string_tab[2091]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H __pyx_string_tab[2092]
#define __pyx_n_u_CU_RES_VIEW_FORMAT_UNSIGNED_BC7 __pyx_string_tab[2093]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_DEFAULT __pyx_string_tab[2094]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_L1 __pyx_string_tab[2095]
#define __pyx_n_u_CU_SHAREDMEM_CARVEOUT_MAX_SHARED __pyx_string_tab[2096]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_DEFAULT_BAN __pyx_string_tab[2097]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_EIGHT_BYTE __pyx_string_tab[2098]
#define __pyx_n_u_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B __pyx_string_tab[2099]
#define __pyx_n_u_CU_STREAM_ADD_CAPTURE_DEPENDENCI __pyx_string_tab[2100]
#define __pyx_n_u_CU_STREAM_ATOMIC_REDUCTION_OP_AD __pyx_string_tab[2101]
#define __pyx_n_u_CU_STREAM_ATOMIC_REDUCTION_OP_AN __pyx_string_tab[2102]
#define __pyx_n_u_CU_STREAM_ATOMIC_REDUCTION_OP_OR __pyx_string_tab[2103]
#define __pyx_n_u_CU_STREAM_ATOMIC_REDUCTION_UNSIG __pyx_string_tab[2104]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_ACCESS_POLIC __pyx_string_tab[2105]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM __pyx_string_tab[2106]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_string_tab[2107]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_PRIORITY __pyx_string_tab[2108]
#define __pyx_n_u_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT __pyx_string_tab[2109]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_GLOBAL __pyx_string_tab[2110]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_RELAXED __pyx_string_tab[2111]
#define __pyx_n_u_CU_STREAM_CAPTURE_MODE_THREAD_LO __pyx_string_tab[2112]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_ACTIVE __pyx_string_tab[2113]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_INVALID __pyx_string_tab[2114]
#define __pyx_n_u_CU_STREAM_CAPTURE_STATUS_NONE __pyx_string_tab[2115]
#define __pyx_n_u_CU_STREAM_DEFAULT __pyx_string_tab[2116]
#define __pyx_n_u_CU_STREAM_LEGACY __pyx_string_tab[2117]
#define __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_GP __pyx_string_tab[2118]
#define __pyx_n_u_CU_STREAM_MEMORY_BARRIER_TYPE_SY __pyx_string_tab[2119]
#define __pyx_n_u_CU_STREAM_MEM_OP_ATOMIC_REDUCTIO __pyx_string_tab[2120]
#define __pyx_n_u_CU_STREAM_MEM_OP_BARRIER __pyx_string_tab[2121]
#define __pyx_n_u_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR __pyx_string_tab[2122]
#define __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_32 __pyx_string_tab[2123]
#define __pyx_n_u_CU_STREAM_MEM_OP_WAIT_VALUE_64 __pyx_string_tab[2124]
#define __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_32 __pyx_string_tab[2125]
#define __pyx_n_u_CU_STREAM_MEM_OP_WRITE_VALUE_64 __pyx_string_tab[2126]
#define __pyx_n_u_CU_STREAM_NON_BLOCKING __pyx_string_tab[2127]
#define __pyx_n_u_CU_STREAM_PER_THREAD __pyx_string_tab[2128]
#define __pyx_n_u_CU_STREAM_SET_CAPTURE_DEPENDENCI __pyx_string_tab[2129]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_AND __pyx_string_tab[2130]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_EQ __pyx_string_tab[2131]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_FLUSH __pyx_string_tab[2132]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_GEQ __pyx_string_tab[2133]
#define __pyx_n_u_CU_STREAM_WAIT_VALUE_NOR __pyx_string_tab[2134]
#define __pyx_n_u_CU_STREAM_WRITE_VALUE_DEFAULT __pyx_string_tab[2135]
#define __pyx_n_u_CU_STREAM_WRITE_VALUE_NO_MEMORY __pyx_string_tab[2136]
#define __pyx_n_u_CU_SYNC_POLICY_AUTO __pyx_string_tab[2137]
#define __pyx_n_u_CU_SYNC_POLICY_BLOCKING_SYNC __pyx_string_tab[2138]
#define __pyx_n_u_CU_SYNC_POLICY_SPIN __pyx_string_tab[2139]
#define __pyx_n_u_CU_SYNC_POLICY_YIELD __pyx_string_tab[2140]
#define __pyx_n_u_CU_TARGET_COMPUTE_100 __pyx_string_tab[2141]
#define __pyx_n_u_CU_TARGET_COMPUTE_100A __pyx_string_tab[2142]
#define __pyx_n_u_CU_TARGET_COMPUTE_100F __pyx_string_tab[2143]
#define __pyx_n_u_CU_TARGET_COMPUTE_103 __pyx_string_tab[2144]
#define __pyx_n_u_CU_TARGET_COMPUTE_103A __pyx_string_tab[2145]
#define __pyx_n_u_CU_TARGET_COMPUTE_103F __pyx_string_tab[2146]
#define __pyx_n_u_CU_TARGET_COMPUTE_110 __pyx_string_tab[2147]
#define __pyx_n_u_CU_TARGET_COMPUTE_110A __pyx_string_tab[2148]
#define __pyx_n_u_CU_TARGET_COMPUTE_110F __pyx_string_tab[2149]
#define __pyx_n_u_CU_TARGET_COMPUTE_120 __pyx_string_tab[2150]
#define __pyx_n_u_CU_TARGET_COMPUTE_120A __pyx_string_tab[2151]
#define __pyx_n_u_CU_TARGET_COMPUTE_120F __pyx_string_tab[2152]
#define __pyx_n_u_CU_TARGET_COMPUTE_121 __pyx_string_tab[2153]
#define __pyx_n_u_CU_TARGET_COMPUTE_121A __pyx_string_tab[2154]
#define __pyx_n_u_CU_TARGET_COMPUTE_121F __pyx_string_tab[2155]
#define __pyx_n_u_CU_TARGET_COMPUTE_30 __pyx_string_tab[2156]
#define __pyx_n_u_CU_TARGET_COMPUTE_32 __pyx_string_tab[2157]
#define __pyx_n_u_CU_TARGET_COMPUTE_35 __pyx_string_tab[2158]
#define __pyx_n_u_CU_TARGET_COMPUTE_37 __pyx_string_tab[2159]
#define __pyx_n_u_CU_TARGET_COMPUTE_50 __pyx_string_tab[2160]
#define __pyx_n_u_CU_TARGET_COMPUTE_52 __pyx_string_tab[2161]
#define __pyx_n_u_CU_TARGET_COMPUTE_53 __pyx_string_tab[2162]
#define __pyx_n_u_CU_TARGET_COMPUTE_60 __pyx_string_tab[2163]
#define __pyx_n_u_CU_TARGET_COMPUTE_61 __pyx_string_tab[2164]
#define __pyx_n_u_CU_TARGET_COMPUTE_62 __pyx_string_tab[2165]
#define __pyx_n_u_CU_TARGET_COMPUTE_70 __pyx_string_tab[2166]
#define __pyx_n_u_CU_TARGET_COMPUTE_72 __pyx_string_tab[2167]
#define __pyx_n_u_CU_TARGET_COMPUTE_75 __pyx_string_tab[2168]
#define __pyx_n_u_CU_TARGET_COMPUTE_80 __pyx_string_tab[2169]
#define __pyx_n_u_CU_TARGET_COMPUTE_86 __pyx_string_tab[2170]
#define __pyx_n_u_CU_TARGET_COMPUTE_87 __pyx_string_tab[2171]
#define __pyx_n_u_CU_TARGET_COMPUTE_89 __pyx_string_tab[2172]
#define __pyx_n_u_CU_TARGET_COMPUTE_90 __pyx_string_tab[2173]
#define __pyx_n_u_CU_TARGET_COMPUTE_90A __pyx_string_tab[2174]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI __pyx_string_tab[2175]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U4_ALI_2 __pyx_string_tab[2176]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_16U6_ALI __pyx_string_tab[2177]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 __pyx_string_tab[2178]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT16 __pyx_string_tab[2179]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32 __pyx_string_tab[2180]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2 __pyx_string_tab[2181]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_FLOAT64 __pyx_string_tab[2182]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT32 __pyx_string_tab[2183]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_INT64 __pyx_string_tab[2184]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 __pyx_string_tab[2185]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2 __pyx_string_tab[2186]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT16 __pyx_string_tab[2187]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT32 __pyx_string_tab[2188]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT64 __pyx_string_tab[2189]
#define __pyx_n_u_CU_TENSOR_MAP_DATA_TYPE_UINT8 __pyx_string_tab[2190]
#define __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN __pyx_string_tab[2191]
#define __pyx_n_u_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON __pyx_string_tab[2192]
#define __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W __pyx_string_tab[2193]
#define __pyx_n_u_CU_TENSOR_MAP_IM2COL_WIDE_MODE_W_2 __pyx_string_tab[2194]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_16B __pyx_string_tab[2195]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_32B __pyx_string_tab[2196]
#define __pyx_n_u_CU_TENSOR_MAP_INTERLEAVE_NONE __pyx_string_tab[2197]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_12 __pyx_string_tab[2198]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_25 __pyx_string_tab[2199]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_L2_64 __pyx_string_tab[2200]
#define __pyx_n_u_CU_TENSOR_MAP_L2_PROMOTION_NONE __pyx_string_tab[2201]
#define __pyx_n_u_CU_TENSOR_MAP_NUM_QWORDS __pyx_string_tab[2202]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B __pyx_string_tab[2203]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM __pyx_string_tab[2204]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_2 __pyx_string_tab[2205]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_128B_ATOM_3 __pyx_string_tab[2206]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_32B __pyx_string_tab[2207]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_64B __pyx_string_tab[2208]
#define __pyx_n_u_CU_TENSOR_MAP_SWIZZLE_NONE __pyx_string_tab[2209]
#define __pyx_n_u_CU_TRSA_OVERRIDE_FORMAT __pyx_string_tab[2210]
#define __pyx_n_u_CU_TRSF_DISABLE_TRILINEAR_OPTIMI __pyx_string_tab[2211]
#define __pyx_n_u_CU_TRSF_NORMALIZED_COORDINATES __pyx_string_tab[2212]
#define __pyx_n_u_CU_TRSF_READ_AS_INTEGER __pyx_string_tab[2213]
#define __pyx_n_u_CU_TRSF_SEAMLESS_CUBEMAP __pyx_string_tab[2214]
#define __pyx_n_u_CU_TRSF_SRGB __pyx_string_tab[2215]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_BORDER __pyx_string_tab[2216]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_CLAMP __pyx_string_tab[2217]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_MIRROR __pyx_string_tab[2218]
#define __pyx_n_u_CU_TR_ADDRESS_MODE_WRAP __pyx_string_tab[2219]
#define __pyx_n_u_CU_TR_FILTER_MODE_LINEAR __pyx_string_tab[2220]
#define __pyx_n_u_CU_TR_FILTER_MODE_POINT __pyx_string_tab[2221]
#define __pyx_n_u_CU_USER_OBJECT_NO_DESTRUCTOR_SYN __pyx_string_tab[2222]
#define __pyx_n_u_CU_WORKQUEUE_SCOPE_DEVICE_CTX __pyx_string_tab[2223]
#define __pyx_n_u_CU_WORKQUEUE_SCOPE_GREEN_CTX_BAL __pyx_string_tab[2224]
#define __pyx_n_u_CUaccessPolicyWindow __pyx_string_tab[2225]
#define __pyx_n_u_CUaccessPolicyWindow_st __pyx_string_tab[2226]
#define __pyx_n_u_CUaccessPolicyWindow_st___reduce __pyx_string_tab[2227]
#define __pyx_n_u_CUaccessPolicyWindow_st___setsta __pyx_string_tab[2228]
#define __pyx_n_u_CUaccessPolicyWindow_st_getPtr __pyx_string_tab[2229]
#define __pyx_n_u_CUaccessPolicyWindow_v1 __pyx_string_tab[2230]
#define __pyx_n_u_CUaccessProperty __pyx_string_tab[2231]
#define __pyx_n_u_CUaddress_mode __pyx_string_tab[2232]
#define __pyx_n_u_CUarrayMapInfo __pyx_string_tab[2233]
#define __pyx_n_u_CUarrayMapInfo_st __pyx_string_tab[2234]
#define __pyx_n_u_CUarrayMapInfo_st___reduce_cytho __pyx_string_tab[2235]
#define __pyx_n_u_CUarrayMapInfo_st___setstate_cyt __pyx_string_tab[2236]
#define __pyx_n_u_CUarrayMapInfo_st_getPtr __pyx_string_tab[2237]
#define __pyx_n_u_CUarrayMapInfo_v1 __pyx_string_tab[2238]
#define __pyx_n_u_CUarraySparseSubresourceType __pyx_string_tab[2239]
#define __pyx_n_u_CUarray_2 __pyx_string_tab[2240]
#define __pyx_n_u_CUarray___reduce_cython __pyx_string_tab[2241]
#define __pyx_n_u_CUarray___setstate_cython __pyx_string_tab[2242]
#define __pyx_n_u_CUarray_cubemap_face __pyx_string_tab[2243]
#define __pyx_n_u_CUarray_format __pyx_string_tab[2244]
#define __pyx_n_u_CUarray_getPtr __pyx_string_tab[2245]
#define __pyx_n_u_CUarray_getter __pyx_string_tab[2246]
#define __pyx_n_u_CUasyncCallbackHandle_2 __pyx_string_tab[2247]
#define __pyx_n_u_CUasyncCallbackHandle___reduce_c __pyx_string_tab[2248]
#define __pyx_n_u_CUasyncCallbackHandle___setstate __pyx_string_tab[2249]
#define __pyx_n_u_CUasyncCallbackHandle_getPtr __pyx_string_tab[2250]
#define __pyx_n_u_CUasyncCallbackHandle_getter __pyx_string_tab[2251]
#define __pyx_n_u_CUasyncCallback_2 __pyx_string_tab[2252]
#define __pyx_n_u_CUasyncCallback___reduce_cython __pyx_string_tab[2253]
#define __pyx_n_u_CUasyncCallback___setstate_cytho __pyx_string_tab[2254]
#define __pyx_n_u_CUasyncCallback_getPtr __pyx_string_tab[2255]
#define __pyx_n_u_CUasyncNotificationInfo __pyx_string_tab[2256]
#define __pyx_n_u_CUasyncNotificationInfo_st __pyx_string_tab[2257]
#define __pyx_n_u_CUasyncNotificationInfo_st___red __pyx_string_tab[2258]
#define __pyx_n_u_CUasyncNotificationInfo_st___set __pyx_string_tab[2259]
#define __pyx_n_u_CUasyncNotificationInfo_st_getPt __pyx_string_tab[2260]
#define __pyx_n_u_CUasyncNotificationType __pyx_string_tab[2261]
#define __pyx_n_u_CUatomicOperation __pyx_string_tab[2262]
#define __pyx_n_u_CUatomicOperationCapability __pyx_string_tab[2263]
#define __pyx_n_u_CUcheckpointCheckpointArgs __pyx_string_tab[2264]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st __pyx_string_tab[2265]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_2 __pyx_string_tab[2266]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_3 __pyx_string_tab[2267]
#define __pyx_n_u_CUcheckpointCheckpointArgs_st_ge __pyx_string_tab[2268]
#define __pyx_n_u_CUcheckpointGpuPair __pyx_string_tab[2269]
#define __pyx_n_u_CUcheckpointGpuPair_st __pyx_string_tab[2270]
#define __pyx_n_u_CUcheckpointGpuPair_st___reduce __pyx_string_tab[2271]
#define __pyx_n_u_CUcheckpointGpuPair_st___setstat __pyx_string_tab[2272]
#define __pyx_n_u_CUcheckpointGpuPair_st_getPtr __pyx_string_tab[2273]
#define __pyx_n_u_CUcheckpointLockArgs __pyx_string_tab[2274]
#define __pyx_n_u_CUcheckpointLockArgs_st __pyx_string_tab[2275]
#define __pyx_n_u_CUcheckpointLockArgs_st___reduce __pyx_string_tab[2276]
#define __pyx_n_u_CUcheckpointLockArgs_st___setsta __pyx_string_tab[2277]
#define __pyx_n_u_CUcheckpointLockArgs_st_getPtr __pyx_string_tab[2278]
#define __pyx_n_u_CUcheckpointRestoreArgs __pyx_string_tab[2279]
#define __pyx_n_u_CUcheckpointRestoreArgs_st __pyx_string_tab[2280]
#define __pyx_n_u_CUcheckpointRestoreArgs_st___red __pyx_string_tab[2281]
#define __pyx_n_u_CUcheckpointRestoreArgs_st___set __pyx_string_tab[2282]
#define __pyx_n_u_CUcheckpointRestoreArgs_st_getPt __pyx_string_tab[2283]
#define __pyx_n_u_CUcheckpointUnlockArgs __pyx_string_tab[2284]
#define __pyx_n_u_CUcheckpointUnlockArgs_st __pyx_string_tab[2285]
#define __pyx_n_u_CUcheckpointUnlockArgs_st___redu __pyx_string_tab[2286]
#define __pyx_n_u_CUcheckpointUnlockArgs_st___sets __pyx_string_tab[2287]
#define __pyx_n_u_CUcheckpointUnlockArgs_st_getPtr __pyx_string_tab[2288]
#define __pyx_n_u_CUcigDataType __pyx_string_tab[2289]
#define __pyx_n_u_CUclusterSchedulingPolicy __pyx_string_tab[2290]
#define __pyx_n_u_CUcomputemode __pyx_string_tab[2291]
#define __pyx_n_u_CUcontext __pyx_string_tab[2292]
#define __pyx_n_u_CUcontext___reduce_cython __pyx_string_tab[2293]
#define __pyx_n_u_CUcontext___setstate_cython __pyx_string_tab[2294]
#define __pyx_n_u_CUcontext_getPtr __pyx_string_tab[2295]
#define __pyx_n_u_CUcontext_getter __pyx_string_tab[2296]
#define __pyx_n_u_CUcoredumpSettings __pyx_string_tab[2297]
#define __pyx_n_u_CUctxCigParam __pyx_string_tab[2298]
#define __pyx_n_u_CUctxCigParam_st __pyx_string_tab[2299]
#define __pyx_n_u_CUctxCigParam_st___reduce_cython __pyx_string_tab[2300]
#define __pyx_n_u_CUctxCigParam_st___setstate_cyth __pyx_string_tab[2301]
#define __pyx_n_u_CUctxCigParam_st_getPtr __pyx_string_tab[2302]
#define __pyx_n_u_CUctxCreateParams __pyx_string_tab[2303]
#define __pyx_n_u_CUctxCreateParams_st __pyx_string_tab[2304]
#define __pyx_n_u_CUctxCreateParams_st___reduce_cy __pyx_string_tab[2305]
#define __pyx_n_u_CUctxCreateParams_st___setstate __pyx_string_tab[2306]
#define __pyx_n_u_CUctxCreateParams_st_getPtr __pyx_string_tab[2307]
#define __pyx_n_u_CUctx_flags __pyx_string_tab[2308]
#define __pyx_n_u_CUdevResource __pyx_string_tab[2309]
#define __pyx_n_u_CUdevResourceDesc_2 __pyx_string_tab[2310]
#define __pyx_n_u_CUdevResourceDesc___reduce_cytho __pyx_string_tab[2311]
#define __pyx_n_u_CUdevResourceDesc___setstate_cyt __pyx_string_tab[2312]
#define __pyx_n_u_CUdevResourceDesc_getPtr __pyx_string_tab[2313]
#define __pyx_n_u_CUdevResourceDesc_getter __pyx_string_tab[2314]
#define __pyx_n_u_CUdevResourceType __pyx_string_tab[2315]
#define __pyx_n_u_CUdevResource_st __pyx_string_tab[2316]
#define __pyx_n_u_CUdevResource_st___reduce_cython __pyx_string_tab[2317]
#define __pyx_n_u_CUdevResource_st___setstate_cyth __pyx_string_tab[2318]
#define __pyx_n_u_CUdevResource_st_getPtr __pyx_string_tab[2319]
#define __pyx_n_u_CUdevResource_v1 __pyx_string_tab[2320]
#define __pyx_n_u_CUdevSmResource __pyx_string_tab[2321]
#define __pyx_n_u_CUdevSmResourceGroup_flags __pyx_string_tab[2322]
#define __pyx_n_u_CUdevSmResourceSplitByCount_flag __pyx_string_tab[2323]
#define __pyx_n_u_CUdevSmResource_st __pyx_string_tab[2324]
#define __pyx_n_u_CUdevSmResource_st___reduce_cyth __pyx_string_tab[2325]
#define __pyx_n_u_CUdevSmResource_st___setstate_cy __pyx_string_tab[2326]
#define __pyx_n_u_CUdevSmResource_st_getPtr __pyx_string_tab[2327]
#define __pyx_n_u_CUdevWorkqueueConfigResource __pyx_string_tab[2328]
#define __pyx_n_u_CUdevWorkqueueConfigResource_st __pyx_string_tab[2329]
#define __pyx_n_u_CUdevWorkqueueConfigResource_st_2 __pyx_string_tab[2330]
#define __pyx_n_u_CUdevWorkqueueConfigResource_st_3 __pyx_string_tab[2331]
#define __pyx_n_u_CUdevWorkqueueConfigResource_st_4 __pyx_string_tab[2332]
#define __pyx_n_u_CUdevWorkqueueConfigScope __pyx_string_tab[2333]
#define __pyx_n_u_CUdevWorkqueueResource __pyx_string_tab[2334]
#define __pyx_n_u_CUdevWorkqueueResource_st __pyx_string_tab[2335]
#define __pyx_n_u_CUdevWorkqueueResource_st___redu __pyx_string_tab[2336]
#define __pyx_n_u_CUdevWorkqueueResource_st___sets __pyx_string_tab[2337]
#define __pyx_n_u_CUdevWorkqueueResource_st_getPtr __pyx_string_tab[2338]
#define __pyx_n_u_CUdeviceNumaConfig __pyx_string_tab[2339]
#define __pyx_n_u_CUdevice_2 __pyx_string_tab[2340]
#define __pyx_n_u_CUdevice_P2PAttribute __pyx_string_tab[2341]
#define __pyx_n_u_CUdevice___reduce_cython __pyx_string_tab[2342]
#define __pyx_n_u_CUdevice___setstate_cython __pyx_string_tab[2343]
#define __pyx_n_u_CUdevice_attribute __pyx_string_tab[2344]
#define __pyx_n_u_CUdevice_getPtr __pyx_string_tab[2345]
#define __pyx_n_u_CUdevice_v1_2 __pyx_string_tab[2346]
#define __pyx_n_u_CUdevice_v1___reduce_cython __pyx_string_tab[2347]
#define __pyx_n_u_CUdevice_v1___setstate_cython __pyx_string_tab[2348]
#define __pyx_n_u_CUdevice_v1_getPtr __pyx_string_tab[2349]
#define __pyx_n_u_CUdeviceptr __pyx_string_tab[2350]
#define __pyx_n_u_CUdeviceptr___reduce_cython __pyx_string_tab[2351]
#define __pyx_n_u_CUdeviceptr___setstate_cython __pyx_string_tab[2352]
#define __pyx_n_u_CUdeviceptr_getPtr __pyx_string_tab[2353]
#define __pyx_n_u_CUdeviceptr_v2_2 __pyx_string_tab[2354]
#define __pyx_n_u_CUdeviceptr_v2___reduce_cython __pyx_string_tab[2355]
#define __pyx_n_u_CUdeviceptr_v2___setstate_cython __pyx_string_tab[2356]
#define __pyx_n_u_CUdeviceptr_v2_getPtr __pyx_string_tab[2357]
#define __pyx_n_u_CUdevprop __pyx_string_tab[2358]
#define __pyx_n_u_CUdevprop_st __pyx_string_tab[2359]
#define __pyx_n_u_CUdevprop_st___reduce_cython __pyx_string_tab[2360]
#define __pyx_n_u_CUdevprop_st___setstate_cython __pyx_string_tab[2361]
#define __pyx_n_u_CUdevprop_st_getPtr __pyx_string_tab[2362]
#define __pyx_n_u_CUdevprop_v1 __pyx_string_tab[2363]
#define __pyx_n_u_CUdriverProcAddressQueryResult __pyx_string_tab[2364]
#define __pyx_n_u_CUdriverProcAddress_flags __pyx_string_tab[2365]
#define __pyx_n_u_CUeglColorFormat __pyx_string_tab[2366]
#define __pyx_n_u_CUeglFrame __pyx_string_tab[2367]
#define __pyx_n_u_CUeglFrameType __pyx_string_tab[2368]
#define __pyx_n_u_CUeglFrame_st __pyx_string_tab[2369]
#define __pyx_n_u_CUeglFrame_st___reduce_cython __pyx_string_tab[2370]
#define __pyx_n_u_CUeglFrame_st___setstate_cython __pyx_string_tab[2371]
#define __pyx_n_u_CUeglFrame_st_getPtr __pyx_string_tab[2372]
#define __pyx_n_u_CUeglFrame_v1 __pyx_string_tab[2373]
#define __pyx_n_u_CUeglResourceLocationFlags __pyx_string_tab[2374]
#define __pyx_n_u_CUeglStreamConnection_2 __pyx_string_tab[2375]
#define __pyx_n_u_CUeglStreamConnection___reduce_c __pyx_string_tab[2376]
#define __pyx_n_u_CUeglStreamConnection___setstate __pyx_string_tab[2377]
#define __pyx_n_u_CUeglStreamConnection_getPtr __pyx_string_tab[2378]
#define __pyx_n_u_CUeglStreamConnection_getter __pyx_string_tab[2379]
#define __pyx_n_u_CUevent_2 __pyx_string_tab[2380]
#define __pyx_n_u_CUevent___reduce_cython __pyx_string_tab[2381]
#define __pyx_n_u_CUevent___setstate_cython __pyx_string_tab[2382]
#define __pyx_n_u_CUevent_flags __pyx_string_tab[2383]
#define __pyx_n_u_CUevent_getPtr __pyx_string_tab[2384]
#define __pyx_n_u_CUevent_getter __pyx_string_tab[2385]
#define __pyx_n_u_CUevent_record_flags __pyx_string_tab[2386]
#define __pyx_n_u_CUevent_sched_flags __pyx_string_tab[2387]
#define __pyx_n_u_CUevent_wait_flags __pyx_string_tab[2388]
#define __pyx_n_u_CUexecAffinityParam __pyx_string_tab[2389]
#define __pyx_n_u_CUexecAffinityParam_st __pyx_string_tab[2390]
#define __pyx_n_u_CUexecAffinityParam_st___reduce __pyx_string_tab[2391]
#define __pyx_n_u_CUexecAffinityParam_st___setstat __pyx_string_tab[2392]
#define __pyx_n_u_CUexecAffinityParam_st_getPtr __pyx_string_tab[2393]
#define __pyx_n_u_CUexecAffinityParam_v1 __pyx_string_tab[2394]
#define __pyx_n_u_CUexecAffinitySmCount __pyx_string_tab[2395]
#define __pyx_n_u_CUexecAffinitySmCount_st __pyx_string_tab[2396]
#define __pyx_n_u_CUexecAffinitySmCount_st___reduc __pyx_string_tab[2397]
#define __pyx_n_u_CUexecAffinitySmCount_st___setst __pyx_string_tab[2398]
#define __pyx_n_u_CUexecAffinitySmCount_st_getPtr __pyx_string_tab[2399]
#define __pyx_n_u_CUexecAffinitySmCount_v1 __pyx_string_tab[2400]
#define __pyx_n_u_CUexecAffinityType __pyx_string_tab[2401]
#define __pyx_n_u_CUextent3D __pyx_string_tab[2402]
#define __pyx_n_u_CUextent3D_st __pyx_string_tab[2403]
#define __pyx_n_u_CUextent3D_st___reduce_cython __pyx_string_tab[2404]
#define __pyx_n_u_CUextent3D_st___setstate_cython __pyx_string_tab[2405]
#define __pyx_n_u_CUextent3D_st_getPtr __pyx_string_tab[2406]
#define __pyx_n_u_CUextent3D_v1 __pyx_string_tab[2407]
#define __pyx_n_u_CUexternalMemoryHandleType __pyx_string_tab[2408]
#define __pyx_n_u_CUexternalMemory_2 __pyx_string_tab[2409]
#define __pyx_n_u_CUexternalMemory___reduce_cython __pyx_string_tab[2410]
#define __pyx_n_u_CUexternalMemory___setstate_cyth __pyx_string_tab[2411]
#define __pyx_n_u_CUexternalMemory_getPtr __pyx_string_tab[2412]
#define __pyx_n_u_CUexternalMemory_getter __pyx_string_tab[2413]
#define __pyx_n_u_CUexternalSemaphoreHandleType __pyx_string_tab[2414]
#define __pyx_n_u_CUexternalSemaphore_2 __pyx_string_tab[2415]
#define __pyx_n_u_CUexternalSemaphore___reduce_cyt __pyx_string_tab[2416]
#define __pyx_n_u_CUexternalSemaphore___setstate_c __pyx_string_tab[2417]
#define __pyx_n_u_CUexternalSemaphore_getPtr __pyx_string_tab[2418]
#define __pyx_n_u_CUexternalSemaphore_getter __pyx_string_tab[2419]
#define __pyx_n_u_CUfilter_mode __pyx_string_tab[2420]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesOption __pyx_string_tab[2421]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesScope __pyx_string_tab[2422]
#define __pyx_n_u_CUflushGPUDirectRDMAWritesTarget __pyx_string_tab[2423]
#define __pyx_n_u_CUfunc_cache __pyx_string_tab[2424]
#define __pyx_n_u_CUfunctionLoadingState __pyx_string_tab[2425]
#define __pyx_n_u_CUfunction_2 __pyx_string_tab[2426]
#define __pyx_n_u_CUfunction___reduce_cython __pyx_string_tab[2427]
#define __pyx_n_u_CUfunction___setstate_cython __pyx_string_tab[2428]
#define __pyx_n_u_CUfunction_attribute __pyx_string_tab[2429]
#define __pyx_n_u_CUfunction_getPtr __pyx_string_tab[2430]
#define __pyx_n_u_CUfunction_getter __pyx_string_tab[2431]
#define __pyx_n_u_CUgraphChildGraphNodeOwnership __pyx_string_tab[2432]
#define __pyx_n_u_CUgraphConditionalHandle_2 __pyx_string_tab[2433]
#define __pyx_n_u_CUgraphConditionalHandle___reduc __pyx_string_tab[2434]
#define __pyx_n_u_CUgraphConditionalHandle___setst __pyx_string_tab[2435]
#define __pyx_n_u_CUgraphConditionalHandle_getPtr __pyx_string_tab[2436]
#define __pyx_n_u_CUgraphConditionalNodeType __pyx_string_tab[2437]
#define __pyx_n_u_CUgraphDebugDot_flags __pyx_string_tab[2438]
#define __pyx_n_u_CUgraphDependencyType __pyx_string_tab[2439]
#define __pyx_n_u_CUgraphDeviceNode_2 __pyx_string_tab[2440]
#define __pyx_n_u_CUgraphDeviceNode___reduce_cytho __pyx_string_tab[2441]
#define __pyx_n_u_CUgraphDeviceNode___setstate_cyt __pyx_string_tab[2442]
#define __pyx_n_u_CUgraphDeviceNode_getPtr __pyx_string_tab[2443]
#define __pyx_n_u_CUgraphDeviceNode_getter __pyx_string_tab[2444]
#define __pyx_n_u_CUgraphEdgeData __pyx_string_tab[2445]
#define __pyx_n_u_CUgraphEdgeData_st __pyx_string_tab[2446]
#define __pyx_n_u_CUgraphEdgeData_st___reduce_cyth __pyx_string_tab[2447]
#define __pyx_n_u_CUgraphEdgeData_st___setstate_cy __pyx_string_tab[2448]
#define __pyx_n_u_CUgraphEdgeData_st_getPtr __pyx_string_tab[2449]
#define __pyx_n_u_CUgraphExecUpdateResult __pyx_string_tab[2450]
#define __pyx_n_u_CUgraphExecUpdateResultInfo __pyx_string_tab[2451]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st __pyx_string_tab[2452]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_2 __pyx_string_tab[2453]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_3 __pyx_string_tab[2454]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_st_g __pyx_string_tab[2455]
#define __pyx_n_u_CUgraphExecUpdateResultInfo_v1 __pyx_string_tab[2456]
#define __pyx_n_u_CUgraphExec_2 __pyx_string_tab[2457]
#define __pyx_n_u_CUgraphExec___reduce_cython __pyx_string_tab[2458]
#define __pyx_n_u_CUgraphExec___setstate_cython __pyx_string_tab[2459]
#define __pyx_n_u_CUgraphExec_getPtr __pyx_string_tab[2460]
#define __pyx_n_u_CUgraphExec_getter __pyx_string_tab[2461]
#define __pyx_n_u_CUgraphInstantiateResult __pyx_string_tab[2462]
#define __pyx_n_u_CUgraphInstantiate_flags __pyx_string_tab[2463]
#define __pyx_n_u_CUgraphMem_attribute __pyx_string_tab[2464]
#define __pyx_n_u_CUgraphNodeParams __pyx_string_tab[2465]
#define __pyx_n_u_CUgraphNodeParams_st __pyx_string_tab[2466]
#define __pyx_n_u_CUgraphNodeParams_st___reduce_cy __pyx_string_tab[2467]
#define __pyx_n_u_CUgraphNodeParams_st___setstate __pyx_string_tab[2468]
#define __pyx_n_u_CUgraphNodeParams_st_getPtr __pyx_string_tab[2469]
#define __pyx_n_u_CUgraphNodeType __pyx_string_tab[2470]
#define __pyx_n_u_CUgraphNode_2 __pyx_string_tab[2471]
#define __pyx_n_u_CUgraphNode___reduce_cython __pyx_string_tab[2472]
#define __pyx_n_u_CUgraphNode___setstate_cython __pyx_string_tab[2473]
#define __pyx_n_u_CUgraphNode_getPtr __pyx_string_tab[2474]
#define __pyx_n_u_CUgraphNode_getter __pyx_string_tab[2475]
#define __pyx_n_u_CUgraph_2 __pyx_string_tab[2476]
#define __pyx_n_u_CUgraph___reduce_cython __pyx_string_tab[2477]
#define __pyx_n_u_CUgraph___setstate_cython __pyx_string_tab[2478]
#define __pyx_n_u_CUgraph_getPtr __pyx_string_tab[2479]
#define __pyx_n_u_CUgraph_getter __pyx_string_tab[2480]
#define __pyx_n_u_CUgraphicsMapResourceFlags __pyx_string_tab[2481]
#define __pyx_n_u_CUgraphicsRegisterFlags __pyx_string_tab[2482]
#define __pyx_n_u_CUgraphicsResource_2 __pyx_string_tab[2483]
#define __pyx_n_u_CUgraphicsResource___reduce_cyth __pyx_string_tab[2484]
#define __pyx_n_u_CUgraphicsResource___setstate_cy __pyx_string_tab[2485]
#define __pyx_n_u_CUgraphicsResource_getPtr __pyx_string_tab[2486]
#define __pyx_n_u_CUgraphicsResource_getter __pyx_string_tab[2487]
#define __pyx_n_u_CUgreenCtxCreate_flags __pyx_string_tab[2488]
#define __pyx_n_u_CUgreenCtx_2 __pyx_string_tab[2489]
#define __pyx_n_u_CUgreenCtx___reduce_cython __pyx_string_tab[2490]
#define __pyx_n_u_CUgreenCtx___setstate_cython __pyx_string_tab[2491]
#define __pyx_n_u_CUgreenCtx_getPtr __pyx_string_tab[2492]
#define __pyx_n_u_CUgreenCtx_getter __pyx_string_tab[2493]
#define __pyx_n_u_CUhostFn_2 __pyx_string_tab[2494]
#define __pyx_n_u_CUhostFn___reduce_cython __pyx_string_tab[2495]
#define __pyx_n_u_CUhostFn___setstate_cython __pyx_string_tab[2496]
#define __pyx_n_u_CUhostFn_getPtr __pyx_string_tab[2497]
#define __pyx_n_u_CUipcEventHandle __pyx_string_tab[2498]
#define __pyx_n_u_CUipcEventHandle_st __pyx_string_tab[2499]
#define __pyx_n_u_CUipcEventHandle_st___reduce_cyt __pyx_string_tab[2500]
#define __pyx_n_u_CUipcEventHandle_st___setstate_c __pyx_string_tab[2501]
#define __pyx_n_u_CUipcEventHandle_st_getPtr __pyx_string_tab[2502]
#define __pyx_n_u_CUipcEventHandle_v1 __pyx_string_tab[2503]
#define __pyx_n_u_CUipcMemHandle __pyx_string_tab[2504]
#define __pyx_n_u_CUipcMemHandle_st __pyx_string_tab[2505]
#define __pyx_n_u_CUipcMemHandle_st___reduce_cytho __pyx_string_tab[2506]
#define __pyx_n_u_CUipcMemHandle_st___setstate_cyt __pyx_string_tab[2507]
#define __pyx_n_u_CUipcMemHandle_st_getPtr __pyx_string_tab[2508]
#define __pyx_n_u_CUipcMemHandle_v1 __pyx_string_tab[2509]
#define __pyx_n_u_CUipcMem_flags __pyx_string_tab[2510]
#define __pyx_n_u_CUjitInputType __pyx_string_tab[2511]
#define __pyx_n_u_CUjit_cacheMode __pyx_string_tab[2512]
#define __pyx_n_u_CUjit_fallback __pyx_string_tab[2513]
#define __pyx_n_u_CUjit_option __pyx_string_tab[2514]
#define __pyx_n_u_CUjit_target __pyx_string_tab[2515]
#define __pyx_n_u_CUkernelNodeAttrID __pyx_string_tab[2516]
#define __pyx_n_u_CUkernelNodeAttrValue __pyx_string_tab[2517]
#define __pyx_n_u_CUkernelNodeAttrValue_v1 __pyx_string_tab[2518]
#define __pyx_n_u_CUkernel_2 __pyx_string_tab[2519]
#define __pyx_n_u_CUkernel___reduce_cython __pyx_string_tab[2520]
#define __pyx_n_u_CUkernel___setstate_cython __pyx_string_tab[2521]
#define __pyx_n_u_CUkernel_getPtr __pyx_string_tab[2522]
#define __pyx_n_u_CUkernel_getter __pyx_string_tab[2523]
#define __pyx_n_u_CUlaunchAttribute __pyx_string_tab[2524]
#define __pyx_n_u_CUlaunchAttributeID __pyx_string_tab[2525]
#define __pyx_n_u_CUlaunchAttributeValue __pyx_string_tab[2526]
#define __pyx_n_u_CUlaunchAttributeValue_union __pyx_string_tab[2527]
#define __pyx_n_u_CUlaunchAttributeValue_union___r __pyx_string_tab[2528]
#define __pyx_n_u_CUlaunchAttributeValue_union___s __pyx_string_tab[2529]
#define __pyx_n_u_CUlaunchAttributeValue_union_get __pyx_string_tab[2530]
#define __pyx_n_u_CUlaunchAttribute_st __pyx_string_tab[2531]
#define __pyx_n_u_CUlaunchAttribute_st___reduce_cy __pyx_string_tab[2532]
#define __pyx_n_u_CUlaunchAttribute_st___setstate __pyx_string_tab[2533]
#define __pyx_n_u_CUlaunchAttribute_st_getPtr __pyx_string_tab[2534]
#define __pyx_n_u_CUlaunchConfig __pyx_string_tab[2535]
#define __pyx_n_u_CUlaunchConfig_st __pyx_string_tab[2536]
#define __pyx_n_u_CUlaunchConfig_st___reduce_cytho __pyx_string_tab[2537]
#define __pyx_n_u_CUlaunchConfig_st___setstate_cyt __pyx_string_tab[2538]
#define __pyx_n_u_CUlaunchConfig_st_getPtr __pyx_string_tab[2539]
#define __pyx_n_u_CUlaunchMemSyncDomain __pyx_string_tab[2540]
#define __pyx_n_u_CUlaunchMemSyncDomainMap __pyx_string_tab[2541]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st __pyx_string_tab[2542]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st___re __pyx_string_tab[2543]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st___se __pyx_string_tab[2544]
#define __pyx_n_u_CUlaunchMemSyncDomainMap_st_getP __pyx_string_tab[2545]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn __pyx_string_tab[2546]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_2 __pyx_string_tab[2547]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_3 __pyx_string_tab[2548]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_4 __pyx_string_tab[2549]
#define __pyx_n_u_CUlibraryHostUniversalFunctionAn_5 __pyx_string_tab[2550]
#define __pyx_n_u_CUlibraryOption __pyx_string_tab[2551]
#define __pyx_n_u_CUlibrary_2 __pyx_string_tab[2552]
#define __pyx_n_u_CUlibrary___reduce_cython __pyx_string_tab[2553]
#define __pyx_n_u_CUlibrary___setstate_cython __pyx_string_tab[2554]
#define __pyx_n_u_CUlibrary_getPtr __pyx_string_tab[2555]
#define __pyx_n_u_CUlibrary_getter __pyx_string_tab[2556]
#define __pyx_n_u_CUlimit __pyx_string_tab[2557]
#define __pyx_n_u_CUlinkState_2 __pyx_string_tab[2558]
#define __pyx_n_u_CUlinkState___reduce_cython __pyx_string_tab[2559]
#define __pyx_n_u_CUlinkState___setstate_cython __pyx_string_tab[2560]
#define __pyx_n_u_CUlinkState_getPtr __pyx_string_tab[2561]
#define __pyx_n_u_CUlinkState_getter __pyx_string_tab[2562]
#define __pyx_n_u_CUlogIterator_2 __pyx_string_tab[2563]
#define __pyx_n_u_CUlogIterator___reduce_cython __pyx_string_tab[2564]
#define __pyx_n_u_CUlogIterator___setstate_cython __pyx_string_tab[2565]
#define __pyx_n_u_CUlogIterator_getPtr __pyx_string_tab[2566]
#define __pyx_n_u_CUlogLevel __pyx_string_tab[2567]
#define __pyx_n_u_CUlogsCallbackHandle_2 __pyx_string_tab[2568]
#define __pyx_n_u_CUlogsCallbackHandle___reduce_cy __pyx_string_tab[2569]
#define __pyx_n_u_CUlogsCallbackHandle___setstate __pyx_string_tab[2570]
#define __pyx_n_u_CUlogsCallbackHandle_getPtr __pyx_string_tab[2571]
#define __pyx_n_u_CUlogsCallbackHandle_getter __pyx_string_tab[2572]
#define __pyx_n_u_CUlogsCallback_2 __pyx_string_tab[2573]
#define __pyx_n_u_CUlogsCallback___reduce_cython __pyx_string_tab[2574]
#define __pyx_n_u_CUlogsCallback___setstate_cython __pyx_string_tab[2575]
#define __pyx_n_u_CUlogsCallback_getPtr __pyx_string_tab[2576]
#define __pyx_n_u_CUmemAccessDesc __pyx_string_tab[2577]
#define __pyx_n_u_CUmemAccessDesc_st __pyx_string_tab[2578]
#define __pyx_n_u_CUmemAccessDesc_st___reduce_cyth __pyx_string_tab[2579]
#define __pyx_n_u_CUmemAccessDesc_st___setstate_cy __pyx_string_tab[2580]
#define __pyx_n_u_CUmemAccessDesc_st_getPtr __pyx_string_tab[2581]
#define __pyx_n_u_CUmemAccessDesc_v1 __pyx_string_tab[2582]
#define __pyx_n_u_CUmemAccess_flags __pyx_string_tab[2583]
#define __pyx_n_u_CUmemAllocationCompType __pyx_string_tab[2584]
#define __pyx_n_u_CUmemAllocationGranularity_flags __pyx_string_tab[2585]
#define __pyx_n_u_CUmemAllocationHandleType __pyx_string_tab[2586]
#define __pyx_n_u_CUmemAllocationProp __pyx_string_tab[2587]
#define __pyx_n_u_CUmemAllocationProp_st __pyx_string_tab[2588]
#define __pyx_n_u_CUmemAllocationProp_st___reduce __pyx_string_tab[2589]
#define __pyx_n_u_CUmemAllocationProp_st___setstat __pyx_string_tab[2590]
#define __pyx_n_u_CUmemAllocationProp_st_getPtr __pyx_string_tab[2591]
#define __pyx_n_u_CUmemAllocationProp_v1 __pyx_string_tab[2592]
#define __pyx_n_u_CUmemAllocationType __pyx_string_tab[2593]
#define __pyx_n_u_CUmemAttach_flags __pyx_string_tab[2594]
#define __pyx_n_u_CUmemDecompressAlgorithm __pyx_string_tab[2595]
#define __pyx_n_u_CUmemDecompressParams __pyx_string_tab[2596]
#define __pyx_n_u_CUmemDecompressParams_st __pyx_string_tab[2597]
#define __pyx_n_u_CUmemDecompressParams_st___reduc __pyx_string_tab[2598]
#define __pyx_n_u_CUmemDecompressParams_st___setst __pyx_string_tab[2599]
#define __pyx_n_u_CUmemDecompressParams_st_getPtr __pyx_string_tab[2600]
#define __pyx_n_u_CUmemFabricHandle __pyx_string_tab[2601]
#define __pyx_n_u_CUmemFabricHandle_st __pyx_string_tab[2602]
#define __pyx_n_u_CUmemFabricHandle_st___reduce_cy __pyx_string_tab[2603]
#define __pyx_n_u_CUmemFabricHandle_st___setstate __pyx_string_tab[2604]
#define __pyx_n_u_CUmemFabricHandle_st_getPtr __pyx_string_tab[2605]
#define __pyx_n_u_CUmemFabricHandle_v1 __pyx_string_tab[2606]
#define __pyx_n_u_CUmemGenericAllocationHandle_2 __pyx_string_tab[2607]
#define __pyx_n_u_CUmemGenericAllocationHandle___r __pyx_string_tab[2608]
#define __pyx_n_u_CUmemGenericAllocationHandle___s __pyx_string_tab[2609]
#define __pyx_n_u_CUmemGenericAllocationHandle_get __pyx_string_tab[2610]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_2 __pyx_string_tab[2611]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_3 __pyx_string_tab[2612]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_4 __pyx_string_tab[2613]
#define __pyx_n_u_CUmemGenericAllocationHandle_v1_5 __pyx_string_tab[2614]
#define __pyx_n_u_CUmemHandleType __pyx_string_tab[2615]
#define __pyx_n_u_CUmemLocation __pyx_string_tab[2616]
#define __pyx_n_u_CUmemLocationType __pyx_string_tab[2617]
#define __pyx_n_u_CUmemLocation_st __pyx_string_tab[2618]
#define __pyx_n_u_CUmemLocation_st___reduce_cython __pyx_string_tab[2619]
#define __pyx_n_u_CUmemLocation_st___setstate_cyth __pyx_string_tab[2620]
#define __pyx_n_u_CUmemLocation_st_getPtr __pyx_string_tab[2621]
#define __pyx_n_u_CUmemLocation_v1 __pyx_string_tab[2622]
#define __pyx_n_u_CUmemOperationType __pyx_string_tab[2623]
#define __pyx_n_u_CUmemPoolProps __pyx_string_tab[2624]
#define __pyx_n_u_CUmemPoolProps_st __pyx_string_tab[2625]
#define __pyx_n_u_CUmemPoolProps_st___reduce_cytho __pyx_string_tab[2626]
#define __pyx_n_u_CUmemPoolProps_st___setstate_cyt __pyx_string_tab[2627]
#define __pyx_n_u_CUmemPoolProps_st_getPtr __pyx_string_tab[2628]
#define __pyx_n_u_CUmemPoolProps_v1 __pyx_string_tab[2629]
#define __pyx_n_u_CUmemPoolPtrExportData __pyx_string_tab[2630]
#define __pyx_n_u_CUmemPoolPtrExportData_st __pyx_string_tab[2631]
#define __pyx_n_u_CUmemPoolPtrExportData_st___redu __pyx_string_tab[2632]
#define __pyx_n_u_CUmemPoolPtrExportData_st___sets __pyx_string_tab[2633]
#define __pyx_n_u_CUmemPoolPtrExportData_st_getPtr __pyx_string_tab[2634]
#define __pyx_n_u_CUmemPoolPtrExportData_v1 __pyx_string_tab[2635]
#define __pyx_n_u_CUmemPool_attribute __pyx_string_tab[2636]
#define __pyx_n_u_CUmemRangeFlags __pyx_string_tab[2637]
#define __pyx_n_u_CUmemRangeHandleType __pyx_string_tab[2638]
#define __pyx_n_u_CUmem_advise __pyx_string_tab[2639]
#define __pyx_n_u_CUmem_range_attribute __pyx_string_tab[2640]
#define __pyx_n_u_CUmemcpy3DOperand __pyx_string_tab[2641]
#define __pyx_n_u_CUmemcpy3DOperandType __pyx_string_tab[2642]
#define __pyx_n_u_CUmemcpy3DOperand_st __pyx_string_tab[2643]
#define __pyx_n_u_CUmemcpy3DOperand_st___reduce_cy __pyx_string_tab[2644]
#define __pyx_n_u_CUmemcpy3DOperand_st___setstate __pyx_string_tab[2645]
#define __pyx_n_u_CUmemcpy3DOperand_st_getPtr __pyx_string_tab[2646]
#define __pyx_n_u_CUmemcpy3DOperand_v1 __pyx_string_tab[2647]
#define __pyx_n_u_CUmemcpyAttributes __pyx_string_tab[2648]
#define __pyx_n_u_CUmemcpyAttributes_st __pyx_string_tab[2649]
#define __pyx_n_u_CUmemcpyAttributes_st___reduce_c __pyx_string_tab[2650]
#define __pyx_n_u_CUmemcpyAttributes_st___setstate __pyx_string_tab[2651]
#define __pyx_n_u_CUmemcpyAttributes_st_getPtr __pyx_string_tab[2652]
#define __pyx_n_u_CUmemcpyAttributes_v1 __pyx_string_tab[2653]
#define __pyx_n_u_CUmemcpyFlags __pyx_string_tab[2654]
#define __pyx_n_u_CUmemcpySrcAccessOrder __pyx_string_tab[2655]
#define __pyx_n_u_CUmemoryPool __pyx_string_tab[2656]
#define __pyx_n_u_CUmemoryPool___reduce_cython __pyx_string_tab[2657]
#define __pyx_n_u_CUmemoryPool___setstate_cython __pyx_string_tab[2658]
#define __pyx_n_u_CUmemoryPool_getPtr __pyx_string_tab[2659]
#define __pyx_n_u_CUmemoryPool_getter __pyx_string_tab[2660]
#define __pyx_n_u_CUmemorytype __pyx_string_tab[2661]
#define __pyx_n_u_CUmipmappedArray_2 __pyx_string_tab[2662]
#define __pyx_n_u_CUmipmappedArray___reduce_cython __pyx_string_tab[2663]
#define __pyx_n_u_CUmipmappedArray___setstate_cyth __pyx_string_tab[2664]
#define __pyx_n_u_CUmipmappedArray_getPtr __pyx_string_tab[2665]
#define __pyx_n_u_CUmipmappedArray_getter __pyx_string_tab[2666]
#define __pyx_n_u_CUmoduleLoadingMode __pyx_string_tab[2667]
#define __pyx_n_u_CUmodule_2 __pyx_string_tab[2668]
#define __pyx_n_u_CUmodule___reduce_cython __pyx_string_tab[2669]
#define __pyx_n_u_CUmodule___setstate_cython __pyx_string_tab[2670]
#define __pyx_n_u_CUmodule_getPtr __pyx_string_tab[2671]
#define __pyx_n_u_CUmodule_getter __pyx_string_tab[2672]
#define __pyx_n_u_CUmulticastGranularity_flags __pyx_string_tab[2673]
#define __pyx_n_u_CUmulticastObjectProp __pyx_string_tab[2674]
#define __pyx_n_u_CUmulticastObjectProp_st __pyx_string_tab[2675]
#define __pyx_n_u_CUmulticastObjectProp_st___reduc __pyx_string_tab[2676]
#define __pyx_n_u_CUmulticastObjectProp_st___setst __pyx_string_tab[2677]
#define __pyx_n_u_CUmulticastObjectProp_st_getPtr __pyx_string_tab[2678]
#define __pyx_n_u_CUmulticastObjectProp_v1 __pyx_string_tab[2679]
#define __pyx_n_u_CUoccupancyB2DSize_2 __pyx_string_tab[2680]
#define __pyx_n_u_CUoccupancyB2DSize___reduce_cyth __pyx_string_tab[2681]
#define __pyx_n_u_CUoccupancyB2DSize___setstate_cy __pyx_string_tab[2682]
#define __pyx_n_u_CUoccupancyB2DSize_getPtr __pyx_string_tab[2683]
#define __pyx_n_u_CUoccupancy_flags __pyx_string_tab[2684]
#define __pyx_n_u_CUoffset3D __pyx_string_tab[2685]
#define __pyx_n_u_CUoffset3D_st __pyx_string_tab[2686]
#define __pyx_n_u_CUoffset3D_st___reduce_cython __pyx_string_tab[2687]
#define __pyx_n_u_CUoffset3D_st___setstate_cython __pyx_string_tab[2688]
#define __pyx_n_u_CUoffset3D_st_getPtr __pyx_string_tab[2689]
#define __pyx_n_u_CUoffset3D_v1 __pyx_string_tab[2690]
#define __pyx_n_u_CUoutput_mode __pyx_string_tab[2691]
#define __pyx_n_u_CUpointer_attribute __pyx_string_tab[2692]
#define __pyx_n_u_CUprocessState __pyx_string_tab[2693]
#define __pyx_n_u_CUresourceViewFormat __pyx_string_tab[2694]
#define __pyx_n_u_CUresourcetype __pyx_string_tab[2695]
#define __pyx_n_u_CUresult __pyx_string_tab[2696]
#define __pyx_n_u_CUshared_carveout __pyx_string_tab[2697]
#define __pyx_n_u_CUsharedconfig __pyx_string_tab[2698]
#define __pyx_n_u_CUstreamAtomicReductionDataType __pyx_string_tab[2699]
#define __pyx_n_u_CUstreamAtomicReductionOpType __pyx_string_tab[2700]
#define __pyx_n_u_CUstreamAttrID __pyx_string_tab[2701]
#define __pyx_n_u_CUstreamAttrValue __pyx_string_tab[2702]
#define __pyx_n_u_CUstreamAttrValue_v1 __pyx_string_tab[2703]
#define __pyx_n_u_CUstreamBatchMemOpParams __pyx_string_tab[2704]
#define __pyx_n_u_CUstreamBatchMemOpParams_union __pyx_string_tab[2705]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_2 __pyx_string_tab[2706]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_3 __pyx_string_tab[2707]
#define __pyx_n_u_CUstreamBatchMemOpParams_union_g __pyx_string_tab[2708]
#define __pyx_n_u_CUstreamBatchMemOpParams_v1 __pyx_string_tab[2709]
#define __pyx_n_u_CUstreamBatchMemOpType __pyx_string_tab[2710]
#define __pyx_n_u_CUstreamCallback_2 __pyx_string_tab[2711]
#define __pyx_n_u_CUstreamCallback___reduce_cython __pyx_string_tab[2712]
#define __pyx_n_u_CUstreamCallback___setstate_cyth __pyx_string_tab[2713]
#define __pyx_n_u_CUstreamCallback_getPtr __pyx_string_tab[2714]
#define __pyx_n_u_CUstreamCaptureMode __pyx_string_tab[2715]
#define __pyx_n_u_CUstreamCaptureStatus __pyx_string_tab[2716]
#define __pyx_n_u_CUstreamMemOpAtomicReductionPara __pyx_string_tab[2717]
#define __pyx_n_u_CUstreamMemOpAtomicReductionPara_2 __pyx_string_tab[2718]
#define __pyx_n_u_CUstreamMemOpAtomicReductionPara_3 __pyx_string_tab[2719]
#define __pyx_n_u_CUstreamMemOpAtomicReductionPara_4 __pyx_string_tab[2720]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa __pyx_string_tab[2721]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_2 __pyx_string_tab[2722]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_3 __pyx_string_tab[2723]
#define __pyx_n_u_CUstreamMemOpFlushRemoteWritesPa_4 __pyx_string_tab[2724]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams __pyx_string_tab[2725]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_2 __pyx_string_tab[2726]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_3 __pyx_string_tab[2727]
#define __pyx_n_u_CUstreamMemOpMemoryBarrierParams_4 __pyx_string_tab[2728]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st __pyx_string_tab[2729]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_2 __pyx_string_tab[2730]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_3 __pyx_string_tab[2731]
#define __pyx_n_u_CUstreamMemOpWaitValueParams_st_4 __pyx_string_tab[2732]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st __pyx_string_tab[2733]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_2 __pyx_string_tab[2734]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_3 __pyx_string_tab[2735]
#define __pyx_n_u_CUstreamMemOpWriteValueParams_st_4 __pyx_string_tab[2736]
#define __pyx_n_u_CUstreamMemoryBarrier_flags __pyx_string_tab[2737]
#define __pyx_n_u_CUstreamUpdateCaptureDependencie __pyx_string_tab[2738]
#define __pyx_n_u_CUstreamWaitValue_flags __pyx_string_tab[2739]
#define __pyx_n_u_CUstreamWriteValue_flags __pyx_string_tab[2740]
#define __pyx_n_u_CUstream_2 __pyx_string_tab[2741]
#define __pyx_n_u_CUstream___cuda_stream __pyx_string_tab[2742]
#define __pyx_n_u_CUstream___reduce_cython __pyx_string_tab[2743]
#define __pyx_n_u_CUstream___setstate_cython __pyx_string_tab[2744]
#define __pyx_n_u_CUstream_flags __pyx_string_tab[2745]
#define __pyx_n_u_CUstream_getPtr __pyx_string_tab[2746]
#define __pyx_n_u_CUstream_getter __pyx_string_tab[2747]
#define __pyx_n_u_CUsurfObject_2 __pyx_string_tab[2748]
#define __pyx_n_u_CUsurfObject___reduce_cython __pyx_string_tab[2749]
#define __pyx_n_u_CUsurfObject___setstate_cython __pyx_string_tab[2750]
#define __pyx_n_u_CUsurfObject_getPtr __pyx_string_tab[2751]
#define __pyx_n_u_CUsurfObject_v1_2 __pyx_string_tab[2752]
#define __pyx_n_u_CUsurfObject_v1___reduce_cython __pyx_string_tab[2753]
#define __pyx_n_u_CUsurfObject_v1___setstate_cytho __pyx_string_tab[2754]
#define __pyx_n_u_CUsurfObject_v1_getPtr __pyx_string_tab[2755]
#define __pyx_n_u_CUsurfref_2 __pyx_string_tab[2756]
#define __pyx_n_u_CUsurfref___reduce_cython __pyx_string_tab[2757]
#define __pyx_n_u_CUsurfref___setstate_cython __pyx_string_tab[2758]
#define __pyx_n_u_CUsurfref_getPtr __pyx_string_tab[2759]
#define __pyx_n_u_CUsurfref_getter __pyx_string_tab[2760]
#define __pyx_n_u_CUsynchronizationPolicy __pyx_string_tab[2761]
#define __pyx_n_u_CUtensorMap __pyx_string_tab[2762]
#define __pyx_n_u_CUtensorMapDataType __pyx_string_tab[2763]
#define __pyx_n_u_CUtensorMapFloatOOBfill __pyx_string_tab[2764]
#define __pyx_n_u_CUtensorMapIm2ColWideMode __pyx_string_tab[2765]
#define __pyx_n_u_CUtensorMapInterleave __pyx_string_tab[2766]
#define __pyx_n_u_CUtensorMapL2promotion __pyx_string_tab[2767]
#define __pyx_n_u_CUtensorMapSwizzle __pyx_string_tab[2768]
#define __pyx_n_u_CUtensorMap_st __pyx_string_tab[2769]
#define __pyx_n_u_CUtensorMap_st___reduce_cython __pyx_string_tab[2770]
#define __pyx_n_u_CUtensorMap_st___setstate_cython __pyx_string_tab[2771]
#define __pyx_n_u_CUtensorMap_st_getPtr __pyx_string_tab[2772]
#define __pyx_n_u_CUtexObject_2 __pyx_string_tab[2773]
#define __pyx_n_u_CUtexObject___reduce_cython __pyx_string_tab[2774]
#define __pyx_n_u_CUtexObject___setstate_cython __pyx_string_tab[2775]
#define __pyx_n_u_CUtexObject_getPtr __pyx_string_tab[2776]
#define __pyx_n_u_CUtexObject_v1_2 __pyx_string_tab[2777]
#define __pyx_n_u_CUtexObject_v1___reduce_cython __pyx_string_tab[2778]
#define __pyx_n_u_CUtexObject_v1___setstate_cython __pyx_string_tab[2779]
#define __pyx_n_u_CUtexObject_v1_getPtr __pyx_string_tab[2780]
#define __pyx_n_u_CUtexref_2 __pyx_string_tab[2781]
#define __pyx_n_u_CUtexref___reduce_cython __pyx_string_tab[2782]
#define __pyx_n_u_CUtexref___setstate_cython __pyx_string_tab[2783]
#define __pyx_n_u_CUtexref_getPtr __pyx_string_tab[2784]
#define __pyx_n_u_CUtexref_getter __pyx_string_tab[2785]
#define __pyx_n_u_CUuserObjectRetain_flags __pyx_string_tab[2786]
#define __pyx_n_u_CUuserObject_2 __pyx_string_tab[2787]
#define __pyx_n_u_CUuserObject___reduce_cython __pyx_string_tab[2788]
#define __pyx_n_u_CUuserObject___setstate_cython __pyx_string_tab[2789]
#define __pyx_n_u_CUuserObject_flags __pyx_string_tab[2790]
#define __pyx_n_u_CUuserObject_getPtr __pyx_string_tab[2791]
#define __pyx_n_u_CUuserObject_getter __pyx_string_tab[2792]
#define __pyx_n_u_CUuuid __pyx_string_tab[2793]
#define __pyx_n_u_CUuuid_st __pyx_string_tab[2794]
#define __pyx_n_u_CUuuid_st___reduce_cython __pyx_string_tab[2795]
#define __pyx_n_u_CUuuid_st___setstate_cython __pyx_string_tab[2796]
#define __pyx_n_u_CUuuid_st_getPtr __pyx_string_tab[2797]
#define __pyx_n_u_Depth_2 __pyx_string_tab[2798]
#define __pyx_n_u_EGLImageKHR_2 __pyx_string_tab[2799]
#define __pyx_n_u_EGLImageKHR___reduce_cython __pyx_string_tab[2800]
#define __pyx_n_u_EGLImageKHR___setstate_cython __pyx_string_tab[2801]
#define __pyx_n_u_EGLImageKHR_getPtr __pyx_string_tab[2802]
#define __pyx_n_u_EGLImageKHR_getter __pyx_string_tab[2803]
#define __pyx_n_u_EGLStreamKHR_2 __pyx_string_tab[2804]
#define __pyx_n_u_EGLStreamKHR___reduce_cython __pyx_string_tab[2805]
#define __pyx_n_u_EGLStreamKHR___setstate_cython __pyx_string_tab[2806]
#define __pyx_n_u_EGLStreamKHR_getPtr __pyx_string_tab[2807]
#define __pyx_n_u_EGLStreamKHR_getter __pyx_string_tab[2808]
#define __pyx_n_u_EGLSyncKHR_2 __pyx_string_tab[2809]
#define __pyx_n_u_EGLSyncKHR___reduce_cython __pyx_string_tab[2810]
#define __pyx_n_u_EGLSyncKHR___setstate_cython __pyx_string_tab[2811]
#define __pyx_n_u_EGLSyncKHR_getPtr __pyx_string_tab[2812]
#define __pyx_n_u_EGLSyncKHR_getter __pyx_string_tab[2813]
#define __pyx_n_u_EGLint_2 __pyx_string_tab[2814]
#define __pyx_n_u_EGLint___reduce_cython __pyx_string_tab[2815]
#define __pyx_n_u_EGLint___setstate_cython __pyx_string_tab[2816]
#define __pyx_n_u_EGLint_getPtr __pyx_string_tab[2817]
#define __pyx_n_u_ElementSizeBytes __pyx_string_tab[2818]
#define __pyx_n_u_Enum __pyx_string_tab[2819]
#define __pyx_n_u_Enum_2 __pyx_string_tab[2820]
#define __pyx_n_u_Flags_2 __pyx_string_tab[2821]
#define __pyx_n_u_Format_2 __pyx_string_tab[2822]
#define __pyx_n_u_GLenum_2 __pyx_string_tab[2823]
#define __pyx_n_u_GLenum___reduce_cython __pyx_string_tab[2824]
#define __pyx_n_u_GLenum___setstate_cython __pyx_string_tab[2825]
#define __pyx_n_u_GLenum_getPtr __pyx_string_tab[2826]
#define __pyx_n_u_GLuint_2 __pyx_string_tab[2827]
#define __pyx_n_u_GLuint___reduce_cython __pyx_string_tab[2828]
#define __pyx_n_u_GLuint___setstate_cython __pyx_string_tab[2829]
#define __pyx_n_u_GLuint_getPtr __pyx_string_tab[2830]
#define __pyx_n_u_Height_2 __pyx_string_tab[2831]
#define __pyx_n_u_HelperCUcoredumpSettings __pyx_string_tab[2832]
#define __pyx_n_u_HelperCUcoredumpSettings___redu __pyx_string_tab[2833]
#define __pyx_n_u_HelperCUcoredumpSettings___sets __pyx_string_tab[2834]
#define __pyx_n_u_HelperCUcoredumpSettings_pyObj __pyx_string_tab[2835]
#define __pyx_n_u_HelperCUcoredumpSettings_size __pyx_string_tab[2836]
#define __pyx_n_u_HelperCUgraphMem_attribute __pyx_string_tab[2837]
#define __pyx_n_u_HelperCUgraphMem_attribute___re __pyx_string_tab[2838]
#define __pyx_n_u_HelperCUgraphMem_attribute___se __pyx_string_tab[2839]
#define __pyx_n_u_HelperCUgraphMem_attribute_pyOb __pyx_string_tab[2840]
#define __pyx_n_u_HelperCUjit_option __pyx_string_tab[2841]
#define __pyx_n_u_HelperCUjit_option___reduce_cyt __pyx_string_tab[2842]
#define __pyx_n_u_HelperCUjit_option___setstate_c __pyx_string_tab[2843]
#define __pyx_n_u_HelperCUlibraryOption __pyx_string_tab[2844]
#define __pyx_n_u_HelperCUlibraryOption___reduce __pyx_string_tab[2845]
#define __pyx_n_u_HelperCUlibraryOption___setstat __pyx_string_tab[2846]
#define __pyx_n_u_HelperCUmemAllocationHandleType __pyx_string_tab[2847]
#define __pyx_n_u_HelperCUmemAllocationHandleType_2 __pyx_string_tab[2848]
#define __pyx_n_u_HelperCUmemAllocationHandleType_3 __pyx_string_tab[2849]
#define __pyx_n_u_HelperCUmemAllocationHandleType_4 __pyx_string_tab[2850]
#define __pyx_n_u_HelperCUmemPool_attribute __pyx_string_tab[2851]
#define __pyx_n_u_HelperCUmemPool_attribute___red __pyx_string_tab[2852]
#define __pyx_n_u_HelperCUmemPool_attribute___set __pyx_string_tab[2853]
#define __pyx_n_u_HelperCUmemPool_attribute_pyObj __pyx_string_tab[2854]
#define __pyx_n_u_HelperCUmem_range_attribute __pyx_string_tab[2855]
#define __pyx_n_u_HelperCUmem_range_attribute___r __pyx_string_tab[2856]
#define __pyx_n_u_HelperCUmem_range_attribute___s __pyx_string_tab[2857]
#define __pyx_n_u_HelperCUmem_range_attribute_pyO __pyx_string_tab[2858]
#define __pyx_n_u_HelperCUpointer_attribute __pyx_string_tab[2859]
#define __pyx_n_u_HelperCUpointer_attribute___red __pyx_string_tab[2860]
#define __pyx_n_u_HelperCUpointer_attribute___set __pyx_string_tab[2861]
#define __pyx_n_u_HelperCUpointer_attribute_pyObj __pyx_string_tab[2862]
#define __pyx_n_u_HelperCudaJitOption __pyx_string_tab[2863]
#define __pyx_n_u_HelperCudaJitOption___reduce_cy __pyx_string_tab[2864]
#define __pyx_n_u_HelperCudaJitOption___setstate __pyx_string_tab[2865]
#define __pyx_n_u_HelperCudaLibraryOption __pyx_string_tab[2866]
#define __pyx_n_u_HelperCudaLibraryOption___reduc __pyx_string_tab[2867]
#define __pyx_n_u_HelperCudaLibraryOption___setst __pyx_string_tab[2868]
#define __pyx_n_u_HelperInputVoidPtr __pyx_string_tab[2869]
#define __pyx_n_u_HelperInputVoidPtr___reduce_cyt __pyx_string_tab[2870]
#define __pyx_n_u_HelperInputVoidPtr___setstate_c __pyx_string_tab[2871]
#define __pyx_n_u_HelperKernelParams __pyx_string_tab[2872]
#define __pyx_n_u_HelperKernelParams___reduce_cyt __pyx_string_tab[2873]
#define __pyx_n_u_HelperKernelParams___setstate_c __pyx_string_tab[2874]
#define __pyx_n_u_HelperKernelParams_lambda __pyx_string_tab[2875]
#define __pyx_n_u_InputVoidPtrPtrHelper __pyx_string_tab[2876]
#define __pyx_n_u_InputVoidPtrPtrHelper___reduce __pyx_string_tab[2877]
#define __pyx_n_u_InputVoidPtrPtrHelper___setstat __pyx_string_tab[2878]
#define __pyx_n_u_IntEnum __pyx_string_tab[2879]
#define __pyx_n_u_MAX_PLANES __pyx_string_tab[2880]
#define __pyx_n_u_N __pyx_string_tab[2881]
#define __pyx_n_u_NVCL_CTX_SCHED_AUTO __pyx_string_tab[2882]
#define __pyx_n_u_NVCL_CTX_SCHED_BLOCKING_SYNC __pyx_string_tab[2883]
#define __pyx_n_u_NVCL_CTX_SCHED_SPIN __pyx_string_tab[2884]
#define __pyx_n_u_NVCL_CTX_SCHED_YIELD __pyx_string_tab[2885]
#define __pyx_n_u_NVCL_EVENT_SCHED_AUTO __pyx_string_tab[2886]
#define __pyx_n_u_NVCL_EVENT_SCHED_BLOCKING_SYNC __pyx_string_tab[2887]
#define __pyx_n_u_NVCL_EVENT_SCHED_SPIN __pyx_string_tab[2888]
#define __pyx_n_u_NVCL_EVENT_SCHED_YIELD __pyx_string_tab[2889]
#define __pyx_n_u_NumChannels_2 __pyx_string_tab[2890]
#define __pyx_n_u_NumPackedComponents __pyx_string_tab[2891]
#define __pyx_n_u_Optional __pyx_string_tab[2892]
#define __pyx_n_u_Pitch __pyx_string_tab[2893]
#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[2894]
#define __pyx_n_u_SIMDWidth_2 __pyx_string_tab[2895]
#define __pyx_n_u_Structure __pyx_string_tab[2896]
#define __pyx_n_u_VdpDevice_2 __pyx_string_tab[2897]
#define __pyx_n_u_VdpDevice___reduce_cython __pyx_string_tab[2898]
#define __pyx_n_u_VdpDevice___setstate_cython __pyx_string_tab[2899]
#define __pyx_n_u_VdpDevice_getPtr __pyx_string_tab[2900]
#define __pyx_n_u_VdpGetProcAddress_2 __pyx_string_tab[2901]
#define __pyx_n_u_VdpGetProcAddress___reduce_cytho __pyx_string_tab[2902]
#define __pyx_n_u_VdpGetProcAddress___setstate_cyt __pyx_string_tab[2903]
#define __pyx_n_u_VdpGetProcAddress_getPtr __pyx_string_tab[2904]
#define __pyx_n_u_VdpOutputSurface_2 __pyx_string_tab[2905]
#define __pyx_n_u_VdpOutputSurface___reduce_cython __pyx_string_tab[2906]
#define __pyx_n_u_VdpOutputSurface___setstate_cyth __pyx_string_tab[2907]
#define __pyx_n_u_VdpOutputSurface_getPtr __pyx_string_tab[2908]
#define __pyx_n_u_VdpVideoSurface_2 __pyx_string_tab[2909]
#define __pyx_n_u_VdpVideoSurface___reduce_cython __pyx_string_tab[2910]
#define __pyx_n_u_VdpVideoSurface___setstate_cytho __pyx_string_tab[2911]
#define __pyx_n_u_VdpVideoSurface_getPtr __pyx_string_tab[2912]
#define __pyx_n_u_WidthInBytes_2 __pyx_string_tab[2913]
#define __pyx_n_u_Width_2 __pyx_string_tab[2914]
#define __pyx_n_u_accessDescCount_2 __pyx_string_tab[2915]
#define __pyx_n_u_accessDescs_2 __pyx_string_tab[2916]
#define __pyx_n_u_accessPolicyWindow_2 __pyx_string_tab[2917]
#define __pyx_n_u_active __pyx_string_tab[2918]
#define __pyx_n_u_add_cuda_native_handle_getter __pyx_string_tab[2919]
#define __pyx_n_u_add_native_handle_getters_local __pyx_string_tab[2920]
#define __pyx_n_u_add_native_handle_getters_local_10 __pyx_string_tab[2921]
#define __pyx_n_u_add_native_handle_getters_local_11 __pyx_string_tab[2922]
#define __pyx_n_u_add_native_handle_getters_local_12 __pyx_string_tab[2923]
#define __pyx_n_u_add_native_handle_getters_local_13 __pyx_string_tab[2924]
#define __pyx_n_u_add_native_handle_getters_local_14 __pyx_string_tab[2925]
#define __pyx_n_u_add_native_handle_getters_local_15 __pyx_string_tab[2926]
#define __pyx_n_u_add_native_handle_getters_local_16 __pyx_string_tab[2927]
#define __pyx_n_u_add_native_handle_getters_local_17 __pyx_string_tab[2928]
#define __pyx_n_u_add_native_handle_getters_local_18 __pyx_string_tab[2929]
#define __pyx_n_u_add_native_handle_getters_local_19 __pyx_string_tab[2930]
#define __pyx_n_u_add_native_handle_getters_local_2 __pyx_string_tab[2931]
#define __pyx_n_u_add_native_handle_getters_local_20 __pyx_string_tab[2932]
#define __pyx_n_u_add_native_handle_getters_local_21 __pyx_string_tab[2933]
#define __pyx_n_u_add_native_handle_getters_local_22 __pyx_string_tab[2934]
#define __pyx_n_u_add_native_handle_getters_local_23 __pyx_string_tab[2935]
#define __pyx_n_u_add_native_handle_getters_local_24 __pyx_string_tab[2936]
#define __pyx_n_u_add_native_handle_getters_local_25 __pyx_string_tab[2937]
#define __pyx_n_u_add_native_handle_getters_local_26 __pyx_string_tab[2938]
#define __pyx_n_u_add_native_handle_getters_local_27 __pyx_string_tab[2939]
#define __pyx_n_u_add_native_handle_getters_local_28 __pyx_string_tab[2940]
#define __pyx_n_u_add_native_handle_getters_local_29 __pyx_string_tab[2941]
#define __pyx_n_u_add_native_handle_getters_local_3 __pyx_string_tab[2942]
#define __pyx_n_u_add_native_handle_getters_local_4 __pyx_string_tab[2943]
#define __pyx_n_u_add_native_handle_getters_local_5 __pyx_string_tab[2944]
#define __pyx_n_u_add_native_handle_getters_local_6 __pyx_string_tab[2945]
#define __pyx_n_u_add_native_handle_getters_local_7 __pyx_string_tab[2946]
#define __pyx_n_u_add_native_handle_getters_local_8 __pyx_string_tab[2947]
#define __pyx_n_u_add_native_handle_getters_local_9 __pyx_string_tab[2948]
#define __pyx_n_u_addr __pyx_string_tab[2949]
#define __pyx_n_u_addressMode_2 __pyx_string_tab[2950]
#define __pyx_n_u_address_2 __pyx_string_tab[2951]
#define __pyx_n_u_addressof __pyx_string_tab[2952]
#define __pyx_n_u_advice __pyx_string_tab[2953]
#define __pyx_n_u_algo_2 __pyx_string_tab[2954]
#define __pyx_n_u_alias_2 __pyx_string_tab[2955]
#define __pyx_n_u_alignment_2 __pyx_string_tab[2956]
#define __pyx_n_u_allocFlags_2 __pyx_string_tab[2957]
#define __pyx_n_u_allocType_2 __pyx_string_tab[2958]
#define __pyx_n_u_alloc_2 __pyx_string_tab[2959]
#define __pyx_n_u_am __pyx_string_tab[2960]
#define __pyx_n_u_anon_struct0 __pyx_string_tab[2961]
#define __pyx_n_u_anon_struct0___reduce_cython __pyx_string_tab[2962]
#define __pyx_n_u_anon_struct0___setstate_cython __pyx_string_tab[2963]
#define __pyx_n_u_anon_struct0_getPtr __pyx_string_tab[2964]
#define __pyx_n_u_anon_struct1 __pyx_string_tab[2965]
#define __pyx_n_u_anon_struct10 __pyx_string_tab[2966]
#define __pyx_n_u_anon_struct10___reduce_cython __pyx_string_tab[2967]
#define __pyx_n_u_anon_struct10___setstate_cython __pyx_string_tab[2968]
#define __pyx_n_u_anon_struct10_getPtr __pyx_string_tab[2969]
#define __pyx_n_u_anon_struct11 __pyx_string_tab[2970]
#define __pyx_n_u_anon_struct11___reduce_cython __pyx_string_tab[2971]
#define __pyx_n_u_anon_struct11___setstate_cython __pyx_string_tab[2972]
#define __pyx_n_u_anon_struct11_getPtr __pyx_string_tab[2973]
#define __pyx_n_u_anon_struct12 __pyx_string_tab[2974]
#define __pyx_n_u_anon_struct12___reduce_cython __pyx_string_tab[2975]
#define __pyx_n_u_anon_struct12___setstate_cython __pyx_string_tab[2976]
#define __pyx_n_u_anon_struct12_getPtr __pyx_string_tab[2977]
#define __pyx_n_u_anon_struct13 __pyx_string_tab[2978]
#define __pyx_n_u_anon_struct13___reduce_cython __pyx_string_tab[2979]
#define __pyx_n_u_anon_struct13___setstate_cython __pyx_string_tab[2980]
#define __pyx_n_u_anon_struct13_getPtr __pyx_string_tab[2981]
#define __pyx_n_u_anon_struct14 __pyx_string_tab[2982]
#define __pyx_n_u_anon_struct14___reduce_cython __pyx_string_tab[2983]
#define __pyx_n_u_anon_struct14___setstate_cython __pyx_string_tab[2984]
#define __pyx_n_u_anon_struct14_getPtr __pyx_string_tab[2985]
#define __pyx_n_u_anon_struct15 __pyx_string_tab[2986]
#define __pyx_n_u_anon_struct15___reduce_cython __pyx_string_tab[2987]
#define __pyx_n_u_anon_struct15___setstate_cython __pyx_string_tab[2988]
#define __pyx_n_u_anon_struct15_getPtr __pyx_string_tab[2989]
#define __pyx_n_u_anon_struct16 __pyx_string_tab[2990]
#define __pyx_n_u_anon_struct16___reduce_cython __pyx_string_tab[2991]
#define __pyx_n_u_anon_struct16___setstate_cython __pyx_string_tab[2992]
#define __pyx_n_u_anon_struct16_getPtr __pyx_string_tab[2993]
#define __pyx_n_u_anon_struct17 __pyx_string_tab[2994]
#define __pyx_n_u_anon_struct17___reduce_cython __pyx_string_tab[2995]
#define __pyx_n_u_anon_struct17___setstate_cython __pyx_string_tab[2996]
#define __pyx_n_u_anon_struct17_getPtr __pyx_string_tab[2997]
#define __pyx_n_u_anon_struct18 __pyx_string_tab[2998]
#define __pyx_n_u_anon_struct18___reduce_cython __pyx_string_tab[2999]
#define __pyx_n_u_anon_struct18___setstate_cython __pyx_string_tab[3000]
#define __pyx_n_u_anon_struct18_getPtr __pyx_string_tab[3001]
#define __pyx_n_u_anon_struct19 __pyx_string_tab[3002]
#define __pyx_n_u_anon_struct19___reduce_cython __pyx_string_tab[3003]
#define __pyx_n_u_anon_struct19___setstate_cython __pyx_string_tab[3004]
#define __pyx_n_u_anon_struct19_getPtr __pyx_string_tab[3005]
#define __pyx_n_u_anon_struct1___reduce_cython __pyx_string_tab[3006]
#define __pyx_n_u_anon_struct1___setstate_cython __pyx_string_tab[3007]
#define __pyx_n_u_anon_struct1_getPtr __pyx_string_tab[3008]
#define __pyx_n_u_anon_struct2 __pyx_string_tab[3009]
#define __pyx_n_u_anon_struct20 __pyx_string_tab[3010]
#define __pyx_n_u_anon_struct20___reduce_cython __pyx_string_tab[3011]
#define __pyx_n_u_anon_struct20___setstate_cython __pyx_string_tab[3012]
#define __pyx_n_u_anon_struct20_getPtr __pyx_string_tab[3013]
#define __pyx_n_u_anon_struct21 __pyx_string_tab[3014]
#define __pyx_n_u_anon_struct21___reduce_cython __pyx_string_tab[3015]
#define __pyx_n_u_anon_struct21___setstate_cython __pyx_string_tab[3016]
#define __pyx_n_u_anon_struct21_getPtr __pyx_string_tab[3017]
#define __pyx_n_u_anon_struct22 __pyx_string_tab[3018]
#define __pyx_n_u_anon_struct22___reduce_cython __pyx_string_tab[3019]
#define __pyx_n_u_anon_struct22___setstate_cython __pyx_string_tab[3020]
#define __pyx_n_u_anon_struct22_getPtr __pyx_string_tab[3021]
#define __pyx_n_u_anon_struct23 __pyx_string_tab[3022]
#define __pyx_n_u_anon_struct23___reduce_cython __pyx_string_tab[3023]
#define __pyx_n_u_anon_struct23___setstate_cython __pyx_string_tab[3024]
#define __pyx_n_u_anon_struct23_getPtr __pyx_string_tab[3025]
#define __pyx_n_u_anon_struct24 __pyx_string_tab[3026]
#define __pyx_n_u_anon_struct24___reduce_cython __pyx_string_tab[3027]
#define __pyx_n_u_anon_struct24___setstate_cython __pyx_string_tab[3028]
#define __pyx_n_u_anon_struct24_getPtr __pyx_string_tab[3029]
#define __pyx_n_u_anon_struct2___reduce_cython __pyx_string_tab[3030]
#define __pyx_n_u_anon_struct2___setstate_cython __pyx_string_tab[3031]
#define __pyx_n_u_anon_struct2_getPtr __pyx_string_tab[3032]
#define __pyx_n_u_anon_struct3 __pyx_string_tab[3033]
#define __pyx_n_u_anon_struct3___reduce_cython __pyx_string_tab[3034]
#define __pyx_n_u_anon_struct3___setstate_cython __pyx_string_tab[3035]
#define __pyx_n_u_anon_struct3_getPtr __pyx_string_tab[3036]
#define __pyx_n_u_anon_struct4 __pyx_string_tab[3037]
#define __pyx_n_u_anon_struct4___reduce_cython __pyx_string_tab[3038]
#define __pyx_n_u_anon_struct4___setstate_cython __pyx_string_tab[3039]
#define __pyx_n_u_anon_struct4_getPtr __pyx_string_tab[3040]
#define __pyx_n_u_anon_struct5 __pyx_string_tab[3041]
#define __pyx_n_u_anon_struct5___reduce_cython __pyx_string_tab[3042]
#define __pyx_n_u_anon_struct5___setstate_cython __pyx_string_tab[3043]
#define __pyx_n_u_anon_struct5_getPtr __pyx_string_tab[3044]
#define __pyx_n_u_anon_struct6 __pyx_string_tab[3045]
#define __pyx_n_u_anon_struct6___reduce_cython __pyx_string_tab[3046]
#define __pyx_n_u_anon_struct6___setstate_cython __pyx_string_tab[3047]
#define __pyx_n_u_anon_struct6_getPtr __pyx_string_tab[3048]
#define __pyx_n_u_anon_struct7 __pyx_string_tab[3049]
#define __pyx_n_u_anon_struct7___reduce_cython __pyx_string_tab[3050]
#define __pyx_n_u_anon_struct7___setstate_cython __pyx_string_tab[3051]
#define __pyx_n_u_anon_struct7_getPtr __pyx_string_tab[3052]
#define __pyx_n_u_anon_struct8 __pyx_string_tab[3053]
#define __pyx_n_u_anon_struct8___reduce_cython __pyx_string_tab[3054]
#define __pyx_n_u_anon_struct8___setstate_cython __pyx_string_tab[3055]
#define __pyx_n_u_anon_struct8_getPtr __pyx_string_tab[3056]
#define __pyx_n_u_anon_struct9 __pyx_string_tab[3057]
#define __pyx_n_u_anon_struct9___reduce_cython __pyx_string_tab[3058]
#define __pyx_n_u_anon_struct9___setstate_cython __pyx_string_tab[3059]
#define __pyx_n_u_anon_struct9_getPtr __pyx_string_tab[3060]
#define __pyx_n_u_anon_union10 __pyx_string_tab[3061]
#define __pyx_n_u_anon_union10___reduce_cython __pyx_string_tab[3062]
#define __pyx_n_u_anon_union10___setstate_cython __pyx_string_tab[3063]
#define __pyx_n_u_anon_union10_getPtr __pyx_string_tab[3064]
#define __pyx_n_u_anon_union11 __pyx_string_tab[3065]
#define __pyx_n_u_anon_union11___reduce_cython __pyx_string_tab[3066]
#define __pyx_n_u_anon_union11___setstate_cython __pyx_string_tab[3067]
#define __pyx_n_u_anon_union11_getPtr __pyx_string_tab[3068]
#define __pyx_n_u_anon_union12 __pyx_string_tab[3069]
#define __pyx_n_u_anon_union12___reduce_cython __pyx_string_tab[3070]
#define __pyx_n_u_anon_union12___setstate_cython __pyx_string_tab[3071]
#define __pyx_n_u_anon_union12_getPtr __pyx_string_tab[3072]
#define __pyx_n_u_anon_union15 __pyx_string_tab[3073]
#define __pyx_n_u_anon_union15___reduce_cython __pyx_string_tab[3074]
#define __pyx_n_u_anon_union15___setstate_cython __pyx_string_tab[3075]
#define __pyx_n_u_anon_union15_getPtr __pyx_string_tab[3076]
#define __pyx_n_u_anon_union2 __pyx_string_tab[3077]
#define __pyx_n_u_anon_union2___reduce_cython __pyx_string_tab[3078]
#define __pyx_n_u_anon_union2___setstate_cython __pyx_string_tab[3079]
#define __pyx_n_u_anon_union2_getPtr __pyx_string_tab[3080]
#define __pyx_n_u_anon_union3 __pyx_string_tab[3081]
#define __pyx_n_u_anon_union3___reduce_cython __pyx_string_tab[3082]
#define __pyx_n_u_anon_union3___setstate_cython __pyx_string_tab[3083]
#define __pyx_n_u_anon_union3_getPtr __pyx_string_tab[3084]
#define __pyx_n_u_anon_union4 __pyx_string_tab[3085]
#define __pyx_n_u_anon_union4___reduce_cython __pyx_string_tab[3086]
#define __pyx_n_u_anon_union4___setstate_cython __pyx_string_tab[3087]
#define __pyx_n_u_anon_union4_getPtr __pyx_string_tab[3088]
#define __pyx_n_u_anon_union5 __pyx_string_tab[3089]
#define __pyx_n_u_anon_union5___reduce_cython __pyx_string_tab[3090]
#define __pyx_n_u_anon_union5___setstate_cython __pyx_string_tab[3091]
#define __pyx_n_u_anon_union5_getPtr __pyx_string_tab[3092]
#define __pyx_n_u_anon_union6 __pyx_string_tab[3093]
#define __pyx_n_u_anon_union6___reduce_cython __pyx_string_tab[3094]
#define __pyx_n_u_anon_union6___setstate_cython __pyx_string_tab[3095]
#define __pyx_n_u_anon_union6_getPtr __pyx_string_tab[3096]
#define __pyx_n_u_anon_union7 __pyx_string_tab[3097]
#define __pyx_n_u_anon_union7___reduce_cython __pyx_string_tab[3098]
#define __pyx_n_u_anon_union7___setstate_cython __pyx_string_tab[3099]
#define __pyx_n_u_anon_union7_getPtr __pyx_string_tab[3100]
#define __pyx_n_u_anon_union8 __pyx_string_tab[3101]
#define __pyx_n_u_anon_union8___reduce_cython __pyx_string_tab[3102]
#define __pyx_n_u_anon_union8___setstate_cython __pyx_string_tab[3103]
#define __pyx_n_u_anon_union8_getPtr __pyx_string_tab[3104]
#define __pyx_n_u_anon_union9 __pyx_string_tab[3105]
#define __pyx_n_u_anon_union9___reduce_cython __pyx_string_tab[3106]
#define __pyx_n_u_anon_union9___setstate_cython __pyx_string_tab[3107]
#define __pyx_n_u_anon_union9_getPtr __pyx_string_tab[3108]
#define __pyx_n_u_args __pyx_string_tab[3109]
#define __pyx_n_u_arrayDesc_2 __pyx_string_tab[3110]
#define __pyx_n_u_arrayIndex __pyx_string_tab[3111]
#define __pyx_n_u_array_2 __pyx_string_tab[3112]
#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[3113]
#define __pyx_n_u_atomicReduction_2 __pyx_string_tab[3114]
#define __pyx_n_u_attr __pyx_string_tab[3115]
#define __pyx_n_u_attrib __pyx_string_tab[3116]
#define __pyx_n_u_attribute __pyx_string_tab[3117]
#define __pyx_n_u_attributes __pyx_string_tab[3118]
#define __pyx_n_u_attrsIdxs __pyx_string_tab[3119]
#define __pyx_n_u_attrs_2 __pyx_string_tab[3120]
#define __pyx_n_u_base_ptr_2 __pyx_string_tab[3121]
#define __pyx_n_u_bias __pyx_string_tab[3122]
#define __pyx_n_u_blockDimX_2 __pyx_string_tab[3123]
#define __pyx_n_u_blockDimY_2 __pyx_string_tab[3124]
#define __pyx_n_u_blockDimZ_2 __pyx_string_tab[3125]
#define __pyx_n_u_blockSize __pyx_string_tab[3126]
#define __pyx_n_u_blockSizeLimit __pyx_string_tab[3127]
#define __pyx_n_u_blockSizeToDynamicSMemSize __pyx_string_tab[3128]
#define __pyx_n_u_borderColor_2 __pyx_string_tab[3129]
#define __pyx_n_u_boxDim __pyx_string_tab[3130]
#define __pyx_n_u_buffer __pyx_string_tab[3131]
#define __pyx_n_u_bufferDesc __pyx_string_tab[3132]
#define __pyx_n_u_bytesOverBudget_2 __pyx_string_tab[3133]
#define __pyx_n_u_bytes_2 __pyx_string_tab[3134]
#define __pyx_n_u_bytesize_2 __pyx_string_tab[3135]
#define __pyx_n_u_c_bool __pyx_string_tab[3136]
#define __pyx_n_u_c_byte __pyx_string_tab[3137]
#define __pyx_n_u_c_char __pyx_string_tab[3138]
#define __pyx_n_u_c_double __pyx_string_tab[3139]
#define __pyx_n_u_c_float __pyx_string_tab[3140]
#define __pyx_n_u_c_int __pyx_string_tab[3141]
#define __pyx_n_u_c_long __pyx_string_tab[3142]
#define __pyx_n_u_c_longlong __pyx_string_tab[3143]
#define __pyx_n_u_c_short __pyx_string_tab[3144]
#define __pyx_n_u_c_size_t __pyx_string_tab[3145]
#define __pyx_n_u_c_ubyte __pyx_string_tab[3146]
#define __pyx_n_u_c_uint __pyx_string_tab[3147]
#define __pyx_n_u_c_ulong __pyx_string_tab[3148]
#define __pyx_n_u_c_ulonglong __pyx_string_tab[3149]
#define __pyx_n_u_c_ushort __pyx_string_tab[3150]
#define __pyx_n_u_c_void_p __pyx_string_tab[3151]
#define __pyx_n_u_c_wchar __pyx_string_tab[3152]
#define __pyx_n_u_callback __pyx_string_tab[3153]
#define __pyx_n_u_callbackFunc __pyx_string_tab[3154]
#define __pyx_n_u_callback_out __pyx_string_tab[3155]
#define __pyx_n_u_canAccessPeer __pyx_string_tab[3156]
#define __pyx_n_u_captureStatus __pyx_string_tab[3157]
#define __pyx_n_u_captureStatus_out __pyx_string_tab[3158]
#define __pyx_n_u_cbData __pyx_string_tab[3159]
#define __pyx_n_u_channelsPerPixel __pyx_string_tab[3160]
#define __pyx_n_u_childGraph __pyx_string_tab[3161]
#define __pyx_n_u_cigParams_2 __pyx_string_tab[3162]
#define __pyx_n_u_ckernelParams __pyx_string_tab[3163]
#define __pyx_n_u_cl_context_flags __pyx_string_tab[3164]
#define __pyx_n_u_cl_event_flags __pyx_string_tab[3165]
#define __pyx_n_u_class_getitem __pyx_string_tab[3166]
#define __pyx_n_u_cline_in_traceback __pyx_string_tab[3167]
#define __pyx_n_u_clockRate_2 __pyx_string_tab[3168]
#define __pyx_n_u_close __pyx_string_tab[3169]
#define __pyx_n_u_clusterDim_2 __pyx_string_tab[3170]
#define __pyx_n_u_clusterSchedulingPolicyPreferenc_2 __pyx_string_tab[3171]
#define __pyx_n_u_clusterSize __pyx_string_tab[3172]
#define __pyx_n_u_code __pyx_string_tab[3173]
#define __pyx_n_u_compressionType_2 __pyx_string_tab[3174]
#define __pyx_n_u_conditional_2 __pyx_string_tab[3175]
#define __pyx_n_u_config __pyx_string_tab[3176]
#define __pyx_n_u_conn __pyx_string_tab[3177]
#define __pyx_n_u_cooperative_2 __pyx_string_tab[3178]
#define __pyx_n_u_copyCtx_2 __pyx_string_tab[3179]
#define __pyx_n_u_copyParams_2 __pyx_string_tab[3180]
#define __pyx_n_u_coscheduledSmCount_2 __pyx_string_tab[3181]
#define __pyx_n_u_count_2 __pyx_string_tab[3182]
#define __pyx_n_u_cptr __pyx_string_tab[3183]
#define __pyx_n_u_ctxCreateParams __pyx_string_tab[3184]
#define __pyx_n_u_ctxId __pyx_string_tab[3185]
#define __pyx_n_u_ctx_2 __pyx_string_tab[3186]
#define __pyx_n_u_ctypes __pyx_string_tab[3187]
#define __pyx_n_u_ctypes_2 __pyx_string_tab[3188]
#define __pyx_n_u_cuArray3DCreate __pyx_string_tab[3189]
#define __pyx_n_u_cuArray3DGetDescriptor __pyx_string_tab[3190]
#define __pyx_n_u_cuArrayCreate __pyx_string_tab[3191]
#define __pyx_n_u_cuArrayDestroy __pyx_string_tab[3192]
#define __pyx_n_u_cuArrayGetDescriptor __pyx_string_tab[3193]
#define __pyx_n_u_cuArrayGetMemoryRequirements __pyx_string_tab[3194]
#define __pyx_n_u_cuArrayGetPlane __pyx_string_tab[3195]
#define __pyx_n_u_cuArrayGetSparseProperties __pyx_string_tab[3196]
#define __pyx_n_u_cuCheckpointProcessCheckpoint __pyx_string_tab[3197]
#define __pyx_n_u_cuCheckpointProcessGetRestoreThr __pyx_string_tab[3198]
#define __pyx_n_u_cuCheckpointProcessGetState __pyx_string_tab[3199]
#define __pyx_n_u_cuCheckpointProcessLock __pyx_string_tab[3200]
#define __pyx_n_u_cuCheckpointProcessRestore __pyx_string_tab[3201]
#define __pyx_n_u_cuCheckpointProcessUnlock __pyx_string_tab[3202]
#define __pyx_n_u_cuCoredumpGetAttribute __pyx_string_tab[3203]
#define __pyx_n_u_cuCoredumpGetAttributeGlobal __pyx_string_tab[3204]
#define __pyx_n_u_cuCoredumpSetAttribute __pyx_string_tab[3205]
#define __pyx_n_u_cuCoredumpSetAttributeGlobal __pyx_string_tab[3206]
#define __pyx_n_u_cuCtxAttach __pyx_string_tab[3207]
#define __pyx_n_u_cuCtxCreate __pyx_string_tab[3208]
#define __pyx_n_u_cuCtxDestroy __pyx_string_tab[3209]
#define __pyx_n_u_cuCtxDetach __pyx_string_tab[3210]
#define __pyx_n_u_cuCtxDisablePeerAccess __pyx_string_tab[3211]
#define __pyx_n_u_cuCtxEnablePeerAccess __pyx_string_tab[3212]
#define __pyx_n_u_cuCtxFromGreenCtx __pyx_string_tab[3213]
#define __pyx_n_u_cuCtxGetApiVersion __pyx_string_tab[3214]
#define __pyx_n_u_cuCtxGetCacheConfig __pyx_string_tab[3215]
#define __pyx_n_u_cuCtxGetCurrent __pyx_string_tab[3216]
#define __pyx_n_u_cuCtxGetDevResource __pyx_string_tab[3217]
#define __pyx_n_u_cuCtxGetDevice __pyx_string_tab[3218]
#define __pyx_n_u_cuCtxGetDevice_v2 __pyx_string_tab[3219]
#define __pyx_n_u_cuCtxGetExecAffinity __pyx_string_tab[3220]
#define __pyx_n_u_cuCtxGetFlags __pyx_string_tab[3221]
#define __pyx_n_u_cuCtxGetId __pyx_string_tab[3222]
#define __pyx_n_u_cuCtxGetLimit __pyx_string_tab[3223]
#define __pyx_n_u_cuCtxGetSharedMemConfig __pyx_string_tab[3224]
#define __pyx_n_u_cuCtxGetStreamPriorityRange __pyx_string_tab[3225]
#define __pyx_n_u_cuCtxPopCurrent __pyx_string_tab[3226]
#define __pyx_n_u_cuCtxPushCurrent __pyx_string_tab[3227]
#define __pyx_n_u_cuCtxRecordEvent __pyx_string_tab[3228]
#define __pyx_n_u_cuCtxResetPersistingL2Cache __pyx_string_tab[3229]
#define __pyx_n_u_cuCtxSetCacheConfig __pyx_string_tab[3230]
#define __pyx_n_u_cuCtxSetCurrent __pyx_string_tab[3231]
#define __pyx_n_u_cuCtxSetFlags __pyx_string_tab[3232]
#define __pyx_n_u_cuCtxSetLimit __pyx_string_tab[3233]
#define __pyx_n_u_cuCtxSetSharedMemConfig __pyx_string_tab[3234]
#define __pyx_n_u_cuCtxSynchronize __pyx_string_tab[3235]
#define __pyx_n_u_cuCtxSynchronize_v2 __pyx_string_tab[3236]
#define __pyx_n_u_cuCtxWaitEvent __pyx_string_tab[3237]
#define __pyx_n_u_cuDestroyExternalMemory __pyx_string_tab[3238]
#define __pyx_n_u_cuDestroyExternalSemaphore __pyx_string_tab[3239]
#define __pyx_n_u_cuDevResourceGenerateDesc __pyx_string_tab[3240]
#define __pyx_n_u_cuDevResourceGenerateDesc_locals __pyx_string_tab[3241]
#define __pyx_n_u_cuDevSmResourceSplit __pyx_string_tab[3242]
#define __pyx_n_u_cuDevSmResourceSplitByCount __pyx_string_tab[3243]
#define __pyx_n_u_cuDeviceCanAccessPeer __pyx_string_tab[3244]
#define __pyx_n_u_cuDeviceComputeCapability __pyx_string_tab[3245]
#define __pyx_n_u_cuDeviceGet __pyx_string_tab[3246]
#define __pyx_n_u_cuDeviceGetAttribute __pyx_string_tab[3247]
#define __pyx_n_u_cuDeviceGetByPCIBusId __pyx_string_tab[3248]
#define __pyx_n_u_cuDeviceGetCount __pyx_string_tab[3249]
#define __pyx_n_u_cuDeviceGetDefaultMemPool __pyx_string_tab[3250]
#define __pyx_n_u_cuDeviceGetDevResource __pyx_string_tab[3251]
#define __pyx_n_u_cuDeviceGetExecAffinitySupport __pyx_string_tab[3252]
#define __pyx_n_u_cuDeviceGetGraphMemAttribute __pyx_string_tab[3253]
#define __pyx_n_u_cuDeviceGetHostAtomicCapabilitie __pyx_string_tab[3254]
#define __pyx_n_u_cuDeviceGetHostAtomicCapabilitie_2 __pyx_string_tab[3255]
#define __pyx_n_u_cuDeviceGetLuid __pyx_string_tab[3256]
#define __pyx_n_u_cuDeviceGetMemPool __pyx_string_tab[3257]
#define __pyx_n_u_cuDeviceGetName __pyx_string_tab[3258]
#define __pyx_n_u_cuDeviceGetNvSciSyncAttributes __pyx_string_tab[3259]
#define __pyx_n_u_cuDeviceGetP2PAtomicCapabilities __pyx_string_tab[3260]
#define __pyx_n_u_cuDeviceGetP2PAtomicCapabilities_2 __pyx_string_tab[3261]
#define __pyx_n_u_cuDeviceGetP2PAttribute __pyx_string_tab[3262]
#define __pyx_n_u_cuDeviceGetPCIBusId __pyx_string_tab[3263]
#define __pyx_n_u_cuDeviceGetProperties __pyx_string_tab[3264]
#define __pyx_n_u_cuDeviceGetTexture1DLinearMaxWid __pyx_string_tab[3265]
#define __pyx_n_u_cuDeviceGetUuid __pyx_string_tab[3266]
#define __pyx_n_u_cuDeviceGraphMemTrim __pyx_string_tab[3267]
#define __pyx_n_u_cuDevicePrimaryCtxGetState __pyx_string_tab[3268]
#define __pyx_n_u_cuDevicePrimaryCtxRelease __pyx_string_tab[3269]
#define __pyx_n_u_cuDevicePrimaryCtxReset __pyx_string_tab[3270]
#define __pyx_n_u_cuDevicePrimaryCtxRetain __pyx_string_tab[3271]
#define __pyx_n_u_cuDevicePrimaryCtxSetFlags __pyx_string_tab[3272]
#define __pyx_n_u_cuDeviceRegisterAsyncNotificatio __pyx_string_tab[3273]
#define __pyx_n_u_cuDeviceSetGraphMemAttribute __pyx_string_tab[3274]
#define __pyx_n_u_cuDeviceSetMemPool __pyx_string_tab[3275]
#define __pyx_n_u_cuDeviceTotalMem __pyx_string_tab[3276]
#define __pyx_n_u_cuDeviceUnregisterAsyncNotificat __pyx_string_tab[3277]
#define __pyx_n_u_cuDriverGetVersion __pyx_string_tab[3278]
#define __pyx_n_u_cuEGLStreamConsumerAcquireFrame __pyx_string_tab[3279]
#define __pyx_n_u_cuEGLStreamConsumerConnect __pyx_string_tab[3280]
#define __pyx_n_u_cuEGLStreamConsumerConnectWithFl __pyx_string_tab[3281]
#define __pyx_n_u_cuEGLStreamConsumerDisconnect __pyx_string_tab[3282]
#define __pyx_n_u_cuEGLStreamConsumerReleaseFrame __pyx_string_tab[3283]
#define __pyx_n_u_cuEGLStreamProducerConnect __pyx_string_tab[3284]
#define __pyx_n_u_cuEGLStreamProducerDisconnect __pyx_string_tab[3285]
#define __pyx_n_u_cuEGLStreamProducerPresentFrame __pyx_string_tab[3286]
#define __pyx_n_u_cuEGLStreamProducerReturnFrame __pyx_string_tab[3287]
#define __pyx_n_u_cuEventCreate __pyx_string_tab[3288]
#define __pyx_n_u_cuEventCreateFromEGLSync __pyx_string_tab[3289]
#define __pyx_n_u_cuEventDestroy __pyx_string_tab[3290]
#define __pyx_n_u_cuEventElapsedTime __pyx_string_tab[3291]
#define __pyx_n_u_cuEventQuery __pyx_string_tab[3292]
#define __pyx_n_u_cuEventRecord __pyx_string_tab[3293]
#define __pyx_n_u_cuEventRecordWithFlags __pyx_string_tab[3294]
#define __pyx_n_u_cuEventSynchronize __pyx_string_tab[3295]
#define __pyx_n_u_cuExternalMemoryGetMappedBuffer __pyx_string_tab[3296]
#define __pyx_n_u_cuExternalMemoryGetMappedMipmapp __pyx_string_tab[3297]
#define __pyx_n_u_cuFlushGPUDirectRDMAWrites __pyx_string_tab[3298]
#define __pyx_n_u_cuFormat_2 __pyx_string_tab[3299]
#define __pyx_n_u_cuFuncGetAttribute __pyx_string_tab[3300]
#define __pyx_n_u_cuFuncGetModule __pyx_string_tab[3301]
#define __pyx_n_u_cuFuncGetName __pyx_string_tab[3302]
#define __pyx_n_u_cuFuncGetParamInfo __pyx_string_tab[3303]
#define __pyx_n_u_cuFuncIsLoaded __pyx_string_tab[3304]
#define __pyx_n_u_cuFuncLoad __pyx_string_tab[3305]
#define __pyx_n_u_cuFuncSetAttribute __pyx_string_tab[3306]
#define __pyx_n_u_cuFuncSetBlockShape __pyx_string_tab[3307]
#define __pyx_n_u_cuFuncSetCacheConfig __pyx_string_tab[3308]
#define __pyx_n_u_cuFuncSetSharedMemConfig __pyx_string_tab[3309]
#define __pyx_n_u_cuFuncSetSharedSize __pyx_string_tab[3310]
#define __pyx_n_u_cuGLGetDevices __pyx_string_tab[3311]
#define __pyx_n_u_cuGetErrorName __pyx_string_tab[3312]
#define __pyx_n_u_cuGetErrorString __pyx_string_tab[3313]
#define __pyx_n_u_cuGetExportTable __pyx_string_tab[3314]
#define __pyx_n_u_cuGetProcAddress __pyx_string_tab[3315]
#define __pyx_n_u_cuGraphAddBatchMemOpNode __pyx_string_tab[3316]
#define __pyx_n_u_cuGraphAddBatchMemOpNode_locals __pyx_string_tab[3317]
#define __pyx_n_u_cuGraphAddChildGraphNode __pyx_string_tab[3318]
#define __pyx_n_u_cuGraphAddChildGraphNode_locals __pyx_string_tab[3319]
#define __pyx_n_u_cuGraphAddDependencies __pyx_string_tab[3320]
#define __pyx_n_u_cuGraphAddDependencies_locals_ge __pyx_string_tab[3321]
#define __pyx_n_u_cuGraphAddEmptyNode __pyx_string_tab[3322]
#define __pyx_n_u_cuGraphAddEmptyNode_locals_genex __pyx_string_tab[3323]
#define __pyx_n_u_cuGraphAddEventRecordNode __pyx_string_tab[3324]
#define __pyx_n_u_cuGraphAddEventRecordNode_locals __pyx_string_tab[3325]
#define __pyx_n_u_cuGraphAddEventWaitNode __pyx_string_tab[3326]
#define __pyx_n_u_cuGraphAddEventWaitNode_locals_g __pyx_string_tab[3327]
#define __pyx_n_u_cuGraphAddExternalSemaphoresSign __pyx_string_tab[3328]
#define __pyx_n_u_cuGraphAddExternalSemaphoresSign_2 __pyx_string_tab[3329]
#define __pyx_n_u_cuGraphAddExternalSemaphoresWait __pyx_string_tab[3330]
#define __pyx_n_u_cuGraphAddExternalSemaphoresWait_2 __pyx_string_tab[3331]
#define __pyx_n_u_cuGraphAddHostNode __pyx_string_tab[3332]
#define __pyx_n_u_cuGraphAddHostNode_locals_genexp __pyx_string_tab[3333]
#define __pyx_n_u_cuGraphAddKernelNode __pyx_string_tab[3334]
#define __pyx_n_u_cuGraphAddKernelNode_locals_gene __pyx_string_tab[3335]
#define __pyx_n_u_cuGraphAddMemAllocNode __pyx_string_tab[3336]
#define __pyx_n_u_cuGraphAddMemAllocNode_locals_ge __pyx_string_tab[3337]
#define __pyx_n_u_cuGraphAddMemFreeNode __pyx_string_tab[3338]
#define __pyx_n_u_cuGraphAddMemFreeNode_locals_gen __pyx_string_tab[3339]
#define __pyx_n_u_cuGraphAddMemcpyNode __pyx_string_tab[3340]
#define __pyx_n_u_cuGraphAddMemcpyNode_locals_gene __pyx_string_tab[3341]
#define __pyx_n_u_cuGraphAddMemsetNode __pyx_string_tab[3342]
#define __pyx_n_u_cuGraphAddMemsetNode_locals_gene __pyx_string_tab[3343]
#define __pyx_n_u_cuGraphAddNode __pyx_string_tab[3344]
#define __pyx_n_u_cuGraphAddNode_locals_genexpr __pyx_string_tab[3345]
#define __pyx_n_u_cuGraphBatchMemOpNodeGetParams __pyx_string_tab[3346]
#define __pyx_n_u_cuGraphBatchMemOpNodeSetParams __pyx_string_tab[3347]
#define __pyx_n_u_cuGraphChildGraphNodeGetGraph __pyx_string_tab[3348]
#define __pyx_n_u_cuGraphClone __pyx_string_tab[3349]
#define __pyx_n_u_cuGraphConditionalHandleCreate __pyx_string_tab[3350]
#define __pyx_n_u_cuGraphCreate __pyx_string_tab[3351]
#define __pyx_n_u_cuGraphDebugDotPrint __pyx_string_tab[3352]
#define __pyx_n_u_cuGraphDestroy __pyx_string_tab[3353]
#define __pyx_n_u_cuGraphDestroyNode __pyx_string_tab[3354]
#define __pyx_n_u_cuGraphEventRecordNodeGetEvent __pyx_string_tab[3355]
#define __pyx_n_u_cuGraphEventRecordNodeSetEvent __pyx_string_tab[3356]
#define __pyx_n_u_cuGraphEventWaitNodeGetEvent __pyx_string_tab[3357]
#define __pyx_n_u_cuGraphEventWaitNodeSetEvent __pyx_string_tab[3358]
#define __pyx_n_u_cuGraphExecBatchMemOpNodeSetPara __pyx_string_tab[3359]
#define __pyx_n_u_cuGraphExecChildGraphNodeSetPara __pyx_string_tab[3360]
#define __pyx_n_u_cuGraphExecDestroy __pyx_string_tab[3361]
#define __pyx_n_u_cuGraphExecEventRecordNodeSetEve __pyx_string_tab[3362]
#define __pyx_n_u_cuGraphExecEventWaitNodeSetEvent __pyx_string_tab[3363]
#define __pyx_n_u_cuGraphExecExternalSemaphoresSig __pyx_string_tab[3364]
#define __pyx_n_u_cuGraphExecExternalSemaphoresWai __pyx_string_tab[3365]
#define __pyx_n_u_cuGraphExecGetFlags __pyx_string_tab[3366]
#define __pyx_n_u_cuGraphExecGetId __pyx_string_tab[3367]
#define __pyx_n_u_cuGraphExecHostNodeSetParams __pyx_string_tab[3368]
#define __pyx_n_u_cuGraphExecKernelNodeSetParams __pyx_string_tab[3369]
#define __pyx_n_u_cuGraphExecMemcpyNodeSetParams __pyx_string_tab[3370]
#define __pyx_n_u_cuGraphExecMemsetNodeSetParams __pyx_string_tab[3371]
#define __pyx_n_u_cuGraphExecNodeSetParams __pyx_string_tab[3372]
#define __pyx_n_u_cuGraphExecUpdate __pyx_string_tab[3373]
#define __pyx_n_u_cuGraphExternalSemaphoresSignalN __pyx_string_tab[3374]
#define __pyx_n_u_cuGraphExternalSemaphoresSignalN_2 __pyx_string_tab[3375]
#define __pyx_n_u_cuGraphExternalSemaphoresWaitNod __pyx_string_tab[3376]
#define __pyx_n_u_cuGraphExternalSemaphoresWaitNod_2 __pyx_string_tab[3377]
#define __pyx_n_u_cuGraphGetEdges __pyx_string_tab[3378]
#define __pyx_n_u_cuGraphGetId __pyx_string_tab[3379]
#define __pyx_n_u_cuGraphGetNodes __pyx_string_tab[3380]
#define __pyx_n_u_cuGraphGetRootNodes __pyx_string_tab[3381]
#define __pyx_n_u_cuGraphHostNodeGetParams __pyx_string_tab[3382]
#define __pyx_n_u_cuGraphHostNodeSetParams __pyx_string_tab[3383]
#define __pyx_n_u_cuGraphInstantiate __pyx_string_tab[3384]
#define __pyx_n_u_cuGraphInstantiateWithParams __pyx_string_tab[3385]
#define __pyx_n_u_cuGraphKernelNodeCopyAttributes __pyx_string_tab[3386]
#define __pyx_n_u_cuGraphKernelNodeGetAttribute __pyx_string_tab[3387]
#define __pyx_n_u_cuGraphKernelNodeGetParams __pyx_string_tab[3388]
#define __pyx_n_u_cuGraphKernelNodeSetAttribute __pyx_string_tab[3389]
#define __pyx_n_u_cuGraphKernelNodeSetParams __pyx_string_tab[3390]
#define __pyx_n_u_cuGraphLaunch __pyx_string_tab[3391]
#define __pyx_n_u_cuGraphMemAllocNodeGetParams __pyx_string_tab[3392]
#define __pyx_n_u_cuGraphMemFreeNodeGetParams __pyx_string_tab[3393]
#define __pyx_n_u_cuGraphMemcpyNodeGetParams __pyx_string_tab[3394]
#define __pyx_n_u_cuGraphMemcpyNodeSetParams __pyx_string_tab[3395]
#define __pyx_n_u_cuGraphMemsetNodeGetParams __pyx_string_tab[3396]
#define __pyx_n_u_cuGraphMemsetNodeSetParams __pyx_string_tab[3397]
#define __pyx_n_u_cuGraphNodeFindInClone __pyx_string_tab[3398]
#define __pyx_n_u_cuGraphNodeGetContainingGraph __pyx_string_tab[3399]
#define __pyx_n_u_cuGraphNodeGetDependencies __pyx_string_tab[3400]
#define __pyx_n_u_cuGraphNodeGetDependentNodes __pyx_string_tab[3401]
#define __pyx_n_u_cuGraphNodeGetEnabled __pyx_string_tab[3402]
#define __pyx_n_u_cuGraphNodeGetLocalId __pyx_string_tab[3403]
#define __pyx_n_u_cuGraphNodeGetToolsId __pyx_string_tab[3404]
#define __pyx_n_u_cuGraphNodeGetType __pyx_string_tab[3405]
#define __pyx_n_u_cuGraphNodeSetEnabled __pyx_string_tab[3406]
#define __pyx_n_u_cuGraphNodeSetParams __pyx_string_tab[3407]
#define __pyx_n_u_cuGraphReleaseUserObject __pyx_string_tab[3408]
#define __pyx_n_u_cuGraphRemoveDependencies __pyx_string_tab[3409]
#define __pyx_n_u_cuGraphRemoveDependencies_locals __pyx_string_tab[3410]
#define __pyx_n_u_cuGraphRetainUserObject __pyx_string_tab[3411]
#define __pyx_n_u_cuGraphUpload __pyx_string_tab[3412]
#define __pyx_n_u_cuGraphicsEGLRegisterImage __pyx_string_tab[3413]
#define __pyx_n_u_cuGraphicsGLRegisterBuffer __pyx_string_tab[3414]
#define __pyx_n_u_cuGraphicsGLRegisterImage __pyx_string_tab[3415]
#define __pyx_n_u_cuGraphicsMapResources __pyx_string_tab[3416]
#define __pyx_n_u_cuGraphicsResourceGetMappedEglFr __pyx_string_tab[3417]
#define __pyx_n_u_cuGraphicsResourceGetMappedMipma __pyx_string_tab[3418]
#define __pyx_n_u_cuGraphicsResourceGetMappedPoint __pyx_string_tab[3419]
#define __pyx_n_u_cuGraphicsResourceSetMapFlags __pyx_string_tab[3420]
#define __pyx_n_u_cuGraphicsSubResourceGetMappedAr __pyx_string_tab[3421]
#define __pyx_n_u_cuGraphicsUnmapResources __pyx_string_tab[3422]
#define __pyx_n_u_cuGraphicsUnregisterResource __pyx_string_tab[3423]
#define __pyx_n_u_cuGraphicsVDPAURegisterOutputSur __pyx_string_tab[3424]
#define __pyx_n_u_cuGraphicsVDPAURegisterVideoSurf __pyx_string_tab[3425]
#define __pyx_n_u_cuGreenCtxCreate __pyx_string_tab[3426]
#define __pyx_n_u_cuGreenCtxDestroy __pyx_string_tab[3427]
#define __pyx_n_u_cuGreenCtxGetDevResource __pyx_string_tab[3428]
#define __pyx_n_u_cuGreenCtxGetId __pyx_string_tab[3429]
#define __pyx_n_u_cuGreenCtxRecordEvent __pyx_string_tab[3430]
#define __pyx_n_u_cuGreenCtxStreamCreate __pyx_string_tab[3431]
#define __pyx_n_u_cuGreenCtxWaitEvent __pyx_string_tab[3432]
#define __pyx_n_u_cuImportExternalMemory __pyx_string_tab[3433]
#define __pyx_n_u_cuImportExternalSemaphore __pyx_string_tab[3434]
#define __pyx_n_u_cuInit __pyx_string_tab[3435]
#define __pyx_n_u_cuIpcCloseMemHandle __pyx_string_tab[3436]
#define __pyx_n_u_cuIpcGetEventHandle __pyx_string_tab[3437]
#define __pyx_n_u_cuIpcGetMemHandle __pyx_string_tab[3438]
#define __pyx_n_u_cuIpcOpenEventHandle __pyx_string_tab[3439]
#define __pyx_n_u_cuIpcOpenMemHandle __pyx_string_tab[3440]
#define __pyx_n_u_cuKernelGetAttribute __pyx_string_tab[3441]
#define __pyx_n_u_cuKernelGetFunction __pyx_string_tab[3442]
#define __pyx_n_u_cuKernelGetLibrary __pyx_string_tab[3443]
#define __pyx_n_u_cuKernelGetName __pyx_string_tab[3444]
#define __pyx_n_u_cuKernelGetParamInfo __pyx_string_tab[3445]
#define __pyx_n_u_cuKernelSetAttribute __pyx_string_tab[3446]
#define __pyx_n_u_cuKernelSetCacheConfig __pyx_string_tab[3447]
#define __pyx_n_u_cuLaunch __pyx_string_tab[3448]
#define __pyx_n_u_cuLaunchCooperativeKernel __pyx_string_tab[3449]
#define __pyx_n_u_cuLaunchCooperativeKernelMultiDe __pyx_string_tab[3450]
#define __pyx_n_u_cuLaunchCooperativeKernelMultiDe_2 __pyx_string_tab[3451]
#define __pyx_n_u_cuLaunchGrid __pyx_string_tab[3452]
#define __pyx_n_u_cuLaunchGridAsync __pyx_string_tab[3453]
#define __pyx_n_u_cuLaunchHostFunc __pyx_string_tab[3454]
#define __pyx_n_u_cuLaunchKernel __pyx_string_tab[3455]
#define __pyx_n_u_cuLaunchKernelEx __pyx_string_tab[3456]
#define __pyx_n_u_cuLibraryEnumerateKernels __pyx_string_tab[3457]
#define __pyx_n_u_cuLibraryGetGlobal __pyx_string_tab[3458]
#define __pyx_n_u_cuLibraryGetKernel __pyx_string_tab[3459]
#define __pyx_n_u_cuLibraryGetKernelCount __pyx_string_tab[3460]
#define __pyx_n_u_cuLibraryGetManaged __pyx_string_tab[3461]
#define __pyx_n_u_cuLibraryGetModule __pyx_string_tab[3462]
#define __pyx_n_u_cuLibraryGetUnifiedFunction __pyx_string_tab[3463]
#define __pyx_n_u_cuLibraryLoadData __pyx_string_tab[3464]
#define __pyx_n_u_cuLibraryLoadData_locals_genexpr __pyx_string_tab[3465]
#define __pyx_n_u_cuLibraryLoadFromFile __pyx_string_tab[3466]
#define __pyx_n_u_cuLibraryLoadFromFile_locals_gen __pyx_string_tab[3467]
#define __pyx_n_u_cuLibraryUnload __pyx_string_tab[3468]
#define __pyx_n_u_cuLinkAddData __pyx_string_tab[3469]
#define __pyx_n_u_cuLinkAddData_locals_genexpr __pyx_string_tab[3470]
#define __pyx_n_u_cuLinkAddFile __pyx_string_tab[3471]
#define __pyx_n_u_cuLinkAddFile_locals_genexpr __pyx_string_tab[3472]
#define __pyx_n_u_cuLinkComplete __pyx_string_tab[3473]
#define __pyx_n_u_cuLinkCreate __pyx_string_tab[3474]
#define __pyx_n_u_cuLinkCreate_locals_genexpr __pyx_string_tab[3475]
#define __pyx_n_u_cuLinkDestroy __pyx_string_tab[3476]
#define __pyx_n_u_cuLogsCurrent __pyx_string_tab[3477]
#define __pyx_n_u_cuLogsDumpToFile __pyx_string_tab[3478]
#define __pyx_n_u_cuLogsDumpToMemory __pyx_string_tab[3479]
#define __pyx_n_u_cuLogsRegisterCallback __pyx_string_tab[3480]
#define __pyx_n_u_cuLogsUnregisterCallback __pyx_string_tab[3481]
#define __pyx_n_u_cuMemAddressFree __pyx_string_tab[3482]
#define __pyx_n_u_cuMemAddressReserve __pyx_string_tab[3483]
#define __pyx_n_u_cuMemAdvise __pyx_string_tab[3484]
#define __pyx_n_u_cuMemAlloc __pyx_string_tab[3485]
#define __pyx_n_u_cuMemAllocAsync __pyx_string_tab[3486]
#define __pyx_n_u_cuMemAllocFromPoolAsync __pyx_string_tab[3487]
#define __pyx_n_u_cuMemAllocHost __pyx_string_tab[3488]
#define __pyx_n_u_cuMemAllocManaged __pyx_string_tab[3489]
#define __pyx_n_u_cuMemAllocPitch __pyx_string_tab[3490]
#define __pyx_n_u_cuMemBatchDecompressAsync __pyx_string_tab[3491]
#define __pyx_n_u_cuMemCreate __pyx_string_tab[3492]
#define __pyx_n_u_cuMemDiscardAndPrefetchBatchAsyn __pyx_string_tab[3493]
#define __pyx_n_u_cuMemDiscardAndPrefetchBatchAsyn_2 __pyx_string_tab[3494]
#define __pyx_n_u_cuMemDiscardBatchAsync __pyx_string_tab[3495]
#define __pyx_n_u_cuMemDiscardBatchAsync_locals_ge __pyx_string_tab[3496]
#define __pyx_n_u_cuMemExportToShareableHandle __pyx_string_tab[3497]
#define __pyx_n_u_cuMemFree __pyx_string_tab[3498]
#define __pyx_n_u_cuMemFreeAsync __pyx_string_tab[3499]
#define __pyx_n_u_cuMemFreeHost __pyx_string_tab[3500]
#define __pyx_n_u_cuMemGetAccess __pyx_string_tab[3501]
#define __pyx_n_u_cuMemGetAddressRange __pyx_string_tab[3502]
#define __pyx_n_u_cuMemGetAllocationGranularity __pyx_string_tab[3503]
#define __pyx_n_u_cuMemGetAllocationPropertiesFrom __pyx_string_tab[3504]
#define __pyx_n_u_cuMemGetDefaultMemPool __pyx_string_tab[3505]
#define __pyx_n_u_cuMemGetHandleForAddressRange __pyx_string_tab[3506]
#define __pyx_n_u_cuMemGetInfo __pyx_string_tab[3507]
#define __pyx_n_u_cuMemGetMemPool __pyx_string_tab[3508]
#define __pyx_n_u_cuMemHostAlloc __pyx_string_tab[3509]
#define __pyx_n_u_cuMemHostGetDevicePointer __pyx_string_tab[3510]
#define __pyx_n_u_cuMemHostGetFlags __pyx_string_tab[3511]
#define __pyx_n_u_cuMemHostRegister __pyx_string_tab[3512]
#define __pyx_n_u_cuMemHostUnregister __pyx_string_tab[3513]
#define __pyx_n_u_cuMemImportFromShareableHandle __pyx_string_tab[3514]
#define __pyx_n_u_cuMemMap __pyx_string_tab[3515]
#define __pyx_n_u_cuMemMapArrayAsync __pyx_string_tab[3516]
#define __pyx_n_u_cuMemMapArrayAsync_locals_genexp __pyx_string_tab[3517]
#define __pyx_n_u_cuMemPoolCreate __pyx_string_tab[3518]
#define __pyx_n_u_cuMemPoolDestroy __pyx_string_tab[3519]
#define __pyx_n_u_cuMemPoolExportPointer __pyx_string_tab[3520]
#define __pyx_n_u_cuMemPoolExportToShareableHandle __pyx_string_tab[3521]
#define __pyx_n_u_cuMemPoolGetAccess __pyx_string_tab[3522]
#define __pyx_n_u_cuMemPoolGetAttribute __pyx_string_tab[3523]
#define __pyx_n_u_cuMemPoolImportFromShareableHand __pyx_string_tab[3524]
#define __pyx_n_u_cuMemPoolImportPointer __pyx_string_tab[3525]
#define __pyx_n_u_cuMemPoolSetAccess __pyx_string_tab[3526]
#define __pyx_n_u_cuMemPoolSetAccess_locals_genexp __pyx_string_tab[3527]
#define __pyx_n_u_cuMemPoolSetAttribute __pyx_string_tab[3528]
#define __pyx_n_u_cuMemPoolTrimTo __pyx_string_tab[3529]
#define __pyx_n_u_cuMemPrefetchAsync __pyx_string_tab[3530]
#define __pyx_n_u_cuMemPrefetchBatchAsync __pyx_string_tab[3531]
#define __pyx_n_u_cuMemPrefetchBatchAsync_locals_g __pyx_string_tab[3532]
#define __pyx_n_u_cuMemRangeGetAttribute __pyx_string_tab[3533]
#define __pyx_n_u_cuMemRangeGetAttributes __pyx_string_tab[3534]
#define __pyx_n_u_cuMemRangeGetAttributes_locals_g __pyx_string_tab[3535]
#define __pyx_n_u_cuMemRelease __pyx_string_tab[3536]
#define __pyx_n_u_cuMemRetainAllocationHandle __pyx_string_tab[3537]
#define __pyx_n_u_cuMemSetAccess __pyx_string_tab[3538]
#define __pyx_n_u_cuMemSetAccess_locals_genexpr __pyx_string_tab[3539]
#define __pyx_n_u_cuMemSetMemPool __pyx_string_tab[3540]
#define __pyx_n_u_cuMemUnmap __pyx_string_tab[3541]
#define __pyx_n_u_cuMemcpy __pyx_string_tab[3542]
#define __pyx_n_u_cuMemcpy2D __pyx_string_tab[3543]
#define __pyx_n_u_cuMemcpy2DAsync __pyx_string_tab[3544]
#define __pyx_n_u_cuMemcpy2DUnaligned __pyx_string_tab[3545]
#define __pyx_n_u_cuMemcpy3D __pyx_string_tab[3546]
#define __pyx_n_u_cuMemcpy3DAsync __pyx_string_tab[3547]
#define __pyx_n_u_cuMemcpy3DBatchAsync __pyx_string_tab[3548]
#define __pyx_n_u_cuMemcpy3DBatchAsync_locals_gene __pyx_string_tab[3549]
#define __pyx_n_u_cuMemcpy3DPeer __pyx_string_tab[3550]
#define __pyx_n_u_cuMemcpy3DPeerAsync __pyx_string_tab[3551]
#define __pyx_n_u_cuMemcpyAsync __pyx_string_tab[3552]
#define __pyx_n_u_cuMemcpyAtoA __pyx_string_tab[3553]
#define __pyx_n_u_cuMemcpyAtoD __pyx_string_tab[3554]
#define __pyx_n_u_cuMemcpyAtoH __pyx_string_tab[3555]
#define __pyx_n_u_cuMemcpyAtoHAsync __pyx_string_tab[3556]
#define __pyx_n_u_cuMemcpyBatchAsync __pyx_string_tab[3557]
#define __pyx_n_u_cuMemcpyBatchAsync_locals_genexp __pyx_string_tab[3558]
#define __pyx_n_u_cuMemcpyDtoA __pyx_string_tab[3559]
#define __pyx_n_u_cuMemcpyDtoD __pyx_string_tab[3560]
#define __pyx_n_u_cuMemcpyDtoDAsync __pyx_string_tab[3561]
#define __pyx_n_u_cuMemcpyDtoH __pyx_string_tab[3562]
#define __pyx_n_u_cuMemcpyDtoHAsync __pyx_string_tab[3563]
#define __pyx_n_u_cuMemcpyHtoA __pyx_string_tab[3564]
#define __pyx_n_u_cuMemcpyHtoAAsync __pyx_string_tab[3565]
#define __pyx_n_u_cuMemcpyHtoD __pyx_string_tab[3566]
#define __pyx_n_u_cuMemcpyHtoDAsync __pyx_string_tab[3567]
#define __pyx_n_u_cuMemcpyPeer __pyx_string_tab[3568]
#define __pyx_n_u_cuMemcpyPeerAsync __pyx_string_tab[3569]
#define __pyx_n_u_cuMemsetD16 __pyx_string_tab[3570]
#define __pyx_n_u_cuMemsetD16Async __pyx_string_tab[3571]
#define __pyx_n_u_cuMemsetD2D16 __pyx_string_tab[3572]
#define __pyx_n_u_cuMemsetD2D16Async __pyx_string_tab[3573]
#define __pyx_n_u_cuMemsetD2D32 __pyx_string_tab[3574]
#define __pyx_n_u_cuMemsetD2D32Async __pyx_string_tab[3575]
#define __pyx_n_u_cuMemsetD2D8 __pyx_string_tab[3576]
#define __pyx_n_u_cuMemsetD2D8Async __pyx_string_tab[3577]
#define __pyx_n_u_cuMemsetD32 __pyx_string_tab[3578]
#define __pyx_n_u_cuMemsetD32Async __pyx_string_tab[3579]
#define __pyx_n_u_cuMemsetD8 __pyx_string_tab[3580]
#define __pyx_n_u_cuMemsetD8Async __pyx_string_tab[3581]
#define __pyx_n_u_cuMipmappedArrayCreate __pyx_string_tab[3582]
#define __pyx_n_u_cuMipmappedArrayDestroy __pyx_string_tab[3583]
#define __pyx_n_u_cuMipmappedArrayGetLevel __pyx_string_tab[3584]
#define __pyx_n_u_cuMipmappedArrayGetMemoryRequire __pyx_string_tab[3585]
#define __pyx_n_u_cuMipmappedArrayGetSparsePropert __pyx_string_tab[3586]
#define __pyx_n_u_cuModuleEnumerateFunctions __pyx_string_tab[3587]
#define __pyx_n_u_cuModuleGetFunction __pyx_string_tab[3588]
#define __pyx_n_u_cuModuleGetFunctionCount __pyx_string_tab[3589]
#define __pyx_n_u_cuModuleGetGlobal __pyx_string_tab[3590]
#define __pyx_n_u_cuModuleGetLoadingMode __pyx_string_tab[3591]
#define __pyx_n_u_cuModuleGetSurfRef __pyx_string_tab[3592]
#define __pyx_n_u_cuModuleGetTexRef __pyx_string_tab[3593]
#define __pyx_n_u_cuModuleLoad __pyx_string_tab[3594]
#define __pyx_n_u_cuModuleLoadData __pyx_string_tab[3595]
#define __pyx_n_u_cuModuleLoadDataEx __pyx_string_tab[3596]
#define __pyx_n_u_cuModuleLoadDataEx_locals_genexp __pyx_string_tab[3597]
#define __pyx_n_u_cuModuleLoadFatBinary __pyx_string_tab[3598]
#define __pyx_n_u_cuModuleUnload __pyx_string_tab[3599]
#define __pyx_n_u_cuMulticastAddDevice __pyx_string_tab[3600]
#define __pyx_n_u_cuMulticastBindAddr __pyx_string_tab[3601]
#define __pyx_n_u_cuMulticastBindAddr_v2 __pyx_string_tab[3602]
#define __pyx_n_u_cuMulticastBindMem __pyx_string_tab[3603]
#define __pyx_n_u_cuMulticastBindMem_v2 __pyx_string_tab[3604]
#define __pyx_n_u_cuMulticastCreate __pyx_string_tab[3605]
#define __pyx_n_u_cuMulticastGetGranularity __pyx_string_tab[3606]
#define __pyx_n_u_cuMulticastUnbind __pyx_string_tab[3607]
#define __pyx_n_u_cuOccupancyAvailableDynamicSMemP __pyx_string_tab[3608]
#define __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul __pyx_string_tab[3609]
#define __pyx_n_u_cuOccupancyMaxActiveBlocksPerMul_2 __pyx_string_tab[3610]
#define __pyx_n_u_cuOccupancyMaxActiveClusters __pyx_string_tab[3611]
#define __pyx_n_u_cuOccupancyMaxPotentialBlockSize __pyx_string_tab[3612]
#define __pyx_n_u_cuOccupancyMaxPotentialBlockSize_2 __pyx_string_tab[3613]
#define __pyx_n_u_cuOccupancyMaxPotentialClusterSi __pyx_string_tab[3614]
#define __pyx_n_u_cuParamSetSize __pyx_string_tab[3615]
#define __pyx_n_u_cuParamSetTexRef __pyx_string_tab[3616]
#define __pyx_n_u_cuParamSetf __pyx_string_tab[3617]
#define __pyx_n_u_cuParamSeti __pyx_string_tab[3618]
#define __pyx_n_u_cuParamSetv __pyx_string_tab[3619]
#define __pyx_n_u_cuPointerGetAttribute __pyx_string_tab[3620]
#define __pyx_n_u_cuPointerGetAttributes __pyx_string_tab[3621]
#define __pyx_n_u_cuPointerGetAttributes_locals_ge __pyx_string_tab[3622]
#define __pyx_n_u_cuPointerSetAttribute __pyx_string_tab[3623]
#define __pyx_n_u_cuProfilerStart __pyx_string_tab[3624]
#define __pyx_n_u_cuProfilerStop __pyx_string_tab[3625]
#define __pyx_n_u_cuSignalExternalSemaphoresAsync __pyx_string_tab[3626]
#define __pyx_n_u_cuSignalExternalSemaphoresAsync_2 __pyx_string_tab[3627]
#define __pyx_n_u_cuStreamAddCallback __pyx_string_tab[3628]
#define __pyx_n_u_cuStreamAttachMemAsync __pyx_string_tab[3629]
#define __pyx_n_u_cuStreamBatchMemOp __pyx_string_tab[3630]
#define __pyx_n_u_cuStreamBatchMemOp_locals_genexp __pyx_string_tab[3631]
#define __pyx_n_u_cuStreamBeginCapture __pyx_string_tab[3632]
#define __pyx_n_u_cuStreamBeginCaptureToGraph __pyx_string_tab[3633]
#define __pyx_n_u_cuStreamBeginCaptureToGraph_loca __pyx_string_tab[3634]
#define __pyx_n_u_cuStreamCopyAttributes __pyx_string_tab[3635]
#define __pyx_n_u_cuStreamCreate __pyx_string_tab[3636]
#define __pyx_n_u_cuStreamCreateWithPriority __pyx_string_tab[3637]
#define __pyx_n_u_cuStreamDestroy __pyx_string_tab[3638]
#define __pyx_n_u_cuStreamEndCapture __pyx_string_tab[3639]
#define __pyx_n_u_cuStreamGetAttribute __pyx_string_tab[3640]
#define __pyx_n_u_cuStreamGetCaptureInfo __pyx_string_tab[3641]
#define __pyx_n_u_cuStreamGetCtx __pyx_string_tab[3642]
#define __pyx_n_u_cuStreamGetCtx_v2 __pyx_string_tab[3643]
#define __pyx_n_u_cuStreamGetDevResource __pyx_string_tab[3644]
#define __pyx_n_u_cuStreamGetDevice __pyx_string_tab[3645]
#define __pyx_n_u_cuStreamGetFlags __pyx_string_tab[3646]
#define __pyx_n_u_cuStreamGetGreenCtx __pyx_string_tab[3647]
#define __pyx_n_u_cuStreamGetId __pyx_string_tab[3648]
#define __pyx_n_u_cuStreamGetPriority __pyx_string_tab[3649]
#define __pyx_n_u_cuStreamIsCapturing __pyx_string_tab[3650]
#define __pyx_n_u_cuStreamQuery __pyx_string_tab[3651]
#define __pyx_n_u_cuStreamSetAttribute __pyx_string_tab[3652]
#define __pyx_n_u_cuStreamSynchronize __pyx_string_tab[3653]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie __pyx_string_tab[3654]
#define __pyx_n_u_cuStreamUpdateCaptureDependencie_2 __pyx_string_tab[3655]
#define __pyx_n_u_cuStreamWaitEvent __pyx_string_tab[3656]
#define __pyx_n_u_cuStreamWaitValue32 __pyx_string_tab[3657]
#define __pyx_n_u_cuStreamWaitValue64 __pyx_string_tab[3658]
#define __pyx_n_u_cuStreamWriteValue32 __pyx_string_tab[3659]
#define __pyx_n_u_cuStreamWriteValue64 __pyx_string_tab[3660]
#define __pyx_n_u_cuSurfObjectCreate __pyx_string_tab[3661]
#define __pyx_n_u_cuSurfObjectDestroy __pyx_string_tab[3662]
#define __pyx_n_u_cuSurfObjectGetResourceDesc __pyx_string_tab[3663]
#define __pyx_n_u_cuSurfRefGetArray __pyx_string_tab[3664]
#define __pyx_n_u_cuSurfRefSetArray __pyx_string_tab[3665]
#define __pyx_n_u_cuTensorMapEncodeIm2col __pyx_string_tab[3666]
#define __pyx_n_u_cuTensorMapEncodeIm2colWide __pyx_string_tab[3667]
#define __pyx_n_u_cuTensorMapEncodeIm2colWide_loca __pyx_string_tab[3668]
#define __pyx_n_u_cuTensorMapEncodeIm2col_locals_g __pyx_string_tab[3669]
#define __pyx_n_u_cuTensorMapEncodeTiled __pyx_string_tab[3670]
#define __pyx_n_u_cuTensorMapEncodeTiled_locals_ge __pyx_string_tab[3671]
#define __pyx_n_u_cuTensorMapReplaceAddress __pyx_string_tab[3672]
#define __pyx_n_u_cuTexObjectCreate __pyx_string_tab[3673]
#define __pyx_n_u_cuTexObjectDestroy __pyx_string_tab[3674]
#define __pyx_n_u_cuTexObjectGetResourceDesc __pyx_string_tab[3675]
#define __pyx_n_u_cuTexObjectGetResourceViewDesc __pyx_string_tab[3676]
#define __pyx_n_u_cuTexObjectGetTextureDesc __pyx_string_tab[3677]
#define __pyx_n_u_cuTexRefCreate __pyx_string_tab[3678]
#define __pyx_n_u_cuTexRefDestroy __pyx_string_tab[3679]
#define __pyx_n_u_cuTexRefGetAddress __pyx_string_tab[3680]
#define __pyx_n_u_cuTexRefGetAddressMode __pyx_string_tab[3681]
#define __pyx_n_u_cuTexRefGetArray __pyx_string_tab[3682]
#define __pyx_n_u_cuTexRefGetBorderColor __pyx_string_tab[3683]
#define __pyx_n_u_cuTexRefGetFilterMode __pyx_string_tab[3684]
#define __pyx_n_u_cuTexRefGetFlags __pyx_string_tab[3685]
#define __pyx_n_u_cuTexRefGetFormat __pyx_string_tab[3686]
#define __pyx_n_u_cuTexRefGetMaxAnisotropy __pyx_string_tab[3687]
#define __pyx_n_u_cuTexRefGetMipmapFilterMode __pyx_string_tab[3688]
#define __pyx_n_u_cuTexRefGetMipmapLevelBias __pyx_string_tab[3689]
#define __pyx_n_u_cuTexRefGetMipmapLevelClamp __pyx_string_tab[3690]
#define __pyx_n_u_cuTexRefGetMipmappedArray __pyx_string_tab[3691]
#define __pyx_n_u_cuTexRefSetAddress __pyx_string_tab[3692]
#define __pyx_n_u_cuTexRefSetAddress2D __pyx_string_tab[3693]
#define __pyx_n_u_cuTexRefSetAddressMode __pyx_string_tab[3694]
#define __pyx_n_u_cuTexRefSetArray __pyx_string_tab[3695]
#define __pyx_n_u_cuTexRefSetBorderColor __pyx_string_tab[3696]
#define __pyx_n_u_cuTexRefSetFilterMode __pyx_string_tab[3697]
#define __pyx_n_u_cuTexRefSetFlags __pyx_string_tab[3698]
#define __pyx_n_u_cuTexRefSetFormat __pyx_string_tab[3699]
#define __pyx_n_u_cuTexRefSetMaxAnisotropy __pyx_string_tab[3700]
#define __pyx_n_u_cuTexRefSetMipmapFilterMode __pyx_string_tab[3701]
#define __pyx_n_u_cuTexRefSetMipmapLevelBias __pyx_string_tab[3702]
#define __pyx_n_u_cuTexRefSetMipmapLevelClamp __pyx_string_tab[3703]
#define __pyx_n_u_cuTexRefSetMipmappedArray __pyx_string_tab[3704]
#define __pyx_n_u_cuThreadExchangeStreamCaptureMod __pyx_string_tab[3705]
#define __pyx_n_u_cuUserObjectCreate __pyx_string_tab[3706]
#define __pyx_n_u_cuUserObjectRelease __pyx_string_tab[3707]
#define __pyx_n_u_cuUserObjectRetain __pyx_string_tab[3708]
#define __pyx_n_u_cuVDPAUCtxCreate __pyx_string_tab[3709]
#define __pyx_n_u_cuVDPAUGetDevice __pyx_string_tab[3710]
#define __pyx_n_u_cuWaitExternalSemaphoresAsync __pyx_string_tab[3711]
#define __pyx_n_u_cuWaitExternalSemaphoresAsync_lo __pyx_string_tab[3712]
#define __pyx_n_u_cubinOut __pyx_string_tab[3713]
#define __pyx_n_u_cuda __pyx_string_tab[3714]
#define __pyx_n_u_cudaBindingsDriverGlobal __pyx_string_tab[3715]
#define __pyx_n_u_cudaBindingsDriverGlobal___reduc __pyx_string_tab[3716]
#define __pyx_n_u_cudaBindingsDriverGlobal___setst __pyx_string_tab[3717]
#define __pyx_n_u_cudaDeviceCount __pyx_string_tab[3718]
#define __pyx_n_u_cudaVersion __pyx_string_tab[3719]
#define __pyx_n_u_cuda_bindings_driver __pyx_string_tab[3720]
#define __pyx_n_u_cuda_bindings_utils __pyx_string_tab[3721]
#define __pyx_n_u_cuda_stream __pyx_string_tab[3722]
#define __pyx_n_u_cuuint32_t_2 __pyx_string_tab[3723]
#define __pyx_n_u_cuuint32_t___reduce_cython __pyx_string_tab[3724]
#define __pyx_n_u_cuuint32_t___setstate_cython __pyx_string_tab[3725]
#define __pyx_n_u_cuuint32_t_getPtr __pyx_string_tab[3726]
#define __pyx_n_u_cuuint64_t __pyx_string_tab[3727]
#define __pyx_n_u_cuuint64_t___reduce_cython __pyx_string_tab[3728]
#define __pyx_n_u_cuuint64_t___setstate_cython __pyx_string_tab[3729]
#define __pyx_n_u_cuuint64_t_getPtr __pyx_string_tab[3730]
#define __pyx_n_u_cyaddr __pyx_string_tab[3731]
#define __pyx_n_u_cyaddr_ptr __pyx_string_tab[3732]
#define __pyx_n_u_cyadvice __pyx_string_tab[3733]
#define __pyx_n_u_cyam __pyx_string_tab[3734]
#define __pyx_n_u_cyargs_ptr __pyx_string_tab[3735]
#define __pyx_n_u_cyarray __pyx_string_tab[3736]
#define __pyx_n_u_cyattr __pyx_string_tab[3737]
#define __pyx_n_u_cyattrib __pyx_string_tab[3738]
#define __pyx_n_u_cyattribute __pyx_string_tab[3739]
#define __pyx_n_u_cyattributes __pyx_string_tab[3740]
#define __pyx_n_u_cyattrs __pyx_string_tab[3741]
#define __pyx_n_u_cyattrsIdxs __pyx_string_tab[3742]
#define __pyx_n_u_cyblockSizeToDynamicSMemSize __pyx_string_tab[3743]
#define __pyx_n_u_cyboxDim __pyx_string_tab[3744]
#define __pyx_n_u_cybuffer __pyx_string_tab[3745]
#define __pyx_n_u_cybufferDesc_ptr __pyx_string_tab[3746]
#define __pyx_n_u_cycallback __pyx_string_tab[3747]
#define __pyx_n_u_cycallbackFunc __pyx_string_tab[3748]
#define __pyx_n_u_cycapabilities __pyx_string_tab[3749]
#define __pyx_n_u_cychannelsPerPixel __pyx_string_tab[3750]
#define __pyx_n_u_cychildGraph __pyx_string_tab[3751]
#define __pyx_n_u_cycode __pyx_string_tab[3752]
#define __pyx_n_u_cycode_ptr __pyx_string_tab[3753]
#define __pyx_n_u_cyconfig __pyx_string_tab[3754]
#define __pyx_n_u_cyconfig_ptr __pyx_string_tab[3755]
#define __pyx_n_u_cyconn __pyx_string_tab[3756]
#define __pyx_n_u_cycopyParams_ptr __pyx_string_tab[3757]
#define __pyx_n_u_cyctx __pyx_string_tab[3758]
#define __pyx_n_u_cyctxCreateParams_ptr __pyx_string_tab[3759]
#define __pyx_n_u_cydata __pyx_string_tab[3760]
#define __pyx_n_u_cydataSizes __pyx_string_tab[3761]
#define __pyx_n_u_cydata_ptr __pyx_string_tab[3762]
#define __pyx_n_u_cydependencies __pyx_string_tab[3763]
#define __pyx_n_u_cydependencies_out __pyx_string_tab[3764]
#define __pyx_n_u_cydependencyData __pyx_string_tab[3765]
#define __pyx_n_u_cydependentNodes __pyx_string_tab[3766]
#define __pyx_n_u_cydesc __pyx_string_tab[3767]
#define __pyx_n_u_cydesc_ptr __pyx_string_tab[3768]
#define __pyx_n_u_cydestroy __pyx_string_tab[3769]
#define __pyx_n_u_cydev __pyx_string_tab[3770]
#define __pyx_n_u_cydevPtr __pyx_string_tab[3771]
#define __pyx_n_u_cydevice __pyx_string_tab[3772]
#define __pyx_n_u_cydeviceList __pyx_string_tab[3773]
#define __pyx_n_u_cydptr __pyx_string_tab[3774]
#define __pyx_n_u_cydptrs __pyx_string_tab[3775]
#define __pyx_n_u_cydst __pyx_string_tab[3776]
#define __pyx_n_u_cydstArray __pyx_string_tab[3777]
#define __pyx_n_u_cydstContext __pyx_string_tab[3778]
#define __pyx_n_u_cydstDevice __pyx_string_tab[3779]
#define __pyx_n_u_cydstHost __pyx_string_tab[3780]
#define __pyx_n_u_cydstHost_ptr __pyx_string_tab[3781]
#define __pyx_n_u_cydsts __pyx_string_tab[3782]
#define __pyx_n_u_cyedgeData __pyx_string_tab[3783]
#define __pyx_n_u_cyedgeData_out __pyx_string_tab[3784]
#define __pyx_n_u_cyeglSync __pyx_string_tab[3785]
#define __pyx_n_u_cyeglframe_ptr __pyx_string_tab[3786]
#define __pyx_n_u_cyelementStrides __pyx_string_tab[3787]
#define __pyx_n_u_cyerror __pyx_string_tab[3788]
#define __pyx_n_u_cyevent __pyx_string_tab[3789]
#define __pyx_n_u_cyextMem __pyx_string_tab[3790]
#define __pyx_n_u_cyextSem __pyx_string_tab[3791]
#define __pyx_n_u_cyextSemArray __pyx_string_tab[3792]
#define __pyx_n_u_cyf __pyx_string_tab[3793]
#define __pyx_n_u_cyfatCubin __pyx_string_tab[3794]
#define __pyx_n_u_cyfatCubin_ptr __pyx_string_tab[3795]
#define __pyx_n_u_cyflags __pyx_string_tab[3796]
#define __pyx_n_u_cyfm __pyx_string_tab[3797]
#define __pyx_n_u_cyfmt __pyx_string_tab[3798]
#define __pyx_n_u_cyfn __pyx_string_tab[3799]
#define __pyx_n_u_cyfrom __pyx_string_tab[3800]
#define __pyx_n_u_cyfunc __pyx_string_tab[3801]
#define __pyx_n_u_cyfunction __pyx_string_tab[3802]
#define __pyx_n_u_cyfunctions __pyx_string_tab[3803]
#define __pyx_n_u_cyglobalAddress __pyx_string_tab[3804]
#define __pyx_n_u_cyglobalAddress_ptr __pyx_string_tab[3805]
#define __pyx_n_u_cyglobalDim __pyx_string_tab[3806]
#define __pyx_n_u_cyglobalStrides __pyx_string_tab[3807]
#define __pyx_n_u_cygraph __pyx_string_tab[3808]
#define __pyx_n_u_cygreenCtx __pyx_string_tab[3809]
#define __pyx_n_u_cygroupParams_ptr __pyx_string_tab[3810]
#define __pyx_n_u_cyhArray __pyx_string_tab[3811]
#define __pyx_n_u_cyhClonedGraph __pyx_string_tab[3812]
#define __pyx_n_u_cyhCtx __pyx_string_tab[3813]
#define __pyx_n_u_cyhEnd __pyx_string_tab[3814]
#define __pyx_n_u_cyhEvent __pyx_string_tab[3815]
#define __pyx_n_u_cyhGraph __pyx_string_tab[3816]
#define __pyx_n_u_cyhGraphExec __pyx_string_tab[3817]
#define __pyx_n_u_cyhMipmappedArray __pyx_string_tab[3818]
#define __pyx_n_u_cyhNode __pyx_string_tab[3819]
#define __pyx_n_u_cyhOriginalNode __pyx_string_tab[3820]
#define __pyx_n_u_cyhStart __pyx_string_tab[3821]
#define __pyx_n_u_cyhStream __pyx_string_tab[3822]
#define __pyx_n_u_cyhSurfRef __pyx_string_tab[3823]
#define __pyx_n_u_cyhTexRef __pyx_string_tab[3824]
#define __pyx_n_u_cyhandle __pyx_string_tab[3825]
#define __pyx_n_u_cyhandleType __pyx_string_tab[3826]
#define __pyx_n_u_cyhandle_out __pyx_string_tab[3827]
#define __pyx_n_u_cyhandle_out_ptr __pyx_string_tab[3828]
#define __pyx_n_u_cyhandle_ptr __pyx_string_tab[3829]
#define __pyx_n_u_cyheight __pyx_string_tab[3830]
#define __pyx_n_u_cyhfunc __pyx_string_tab[3831]
#define __pyx_n_u_cyhmod __pyx_string_tab[3832]
#define __pyx_n_u_cyimage __pyx_string_tab[3833]
#define __pyx_n_u_cyimage_ptr __pyx_string_tab[3834]
#define __pyx_n_u_cyinput__ptr __pyx_string_tab[3835]
#define __pyx_n_u_cyinstantiateParams_ptr __pyx_string_tab[3836]
#define __pyx_n_u_cyinterleave __pyx_string_tab[3837]
#define __pyx_n_u_cyiterator __pyx_string_tab[3838]
#define __pyx_n_u_cyjitOptions __pyx_string_tab[3839]
#define __pyx_n_u_cyjitOptionsValues_ptr __pyx_string_tab[3840]
#define __pyx_n_u_cykernel __pyx_string_tab[3841]
#define __pyx_n_u_cykernelParams __pyx_string_tab[3842]
#define __pyx_n_u_cykernelParams_ptr __pyx_string_tab[3843]
#define __pyx_n_u_cykernels __pyx_string_tab[3844]
#define __pyx_n_u_cyl2Promotion __pyx_string_tab[3845]
#define __pyx_n_u_cylaunchParamsList __pyx_string_tab[3846]
#define __pyx_n_u_cylib __pyx_string_tab[3847]
#define __pyx_n_u_cylibrary __pyx_string_tab[3848]
#define __pyx_n_u_cylibraryOptionValues_ptr __pyx_string_tab[3849]
#define __pyx_n_u_cylibraryOptions __pyx_string_tab[3850]
#define __pyx_n_u_cylimit __pyx_string_tab[3851]
#define __pyx_n_u_cylocation_ptr __pyx_string_tab[3852]
#define __pyx_n_u_cymap __pyx_string_tab[3853]
#define __pyx_n_u_cymapInfoList __pyx_string_tab[3854]
#define __pyx_n_u_cymcHandle __pyx_string_tab[3855]
#define __pyx_n_u_cymemHandle __pyx_string_tab[3856]
#define __pyx_n_u_cymemHandleDesc_ptr __pyx_string_tab[3857]
#define __pyx_n_u_cymemPool __pyx_string_tab[3858]
#define __pyx_n_u_cymemptr __pyx_string_tab[3859]
#define __pyx_n_u_cymemsetParams_ptr __pyx_string_tab[3860]
#define __pyx_n_u_cymipmap __pyx_string_tab[3861]
#define __pyx_n_u_cymipmapDesc_ptr __pyx_string_tab[3862]
#define __pyx_n_u_cymod __pyx_string_tab[3863]
#define __pyx_n_u_cymode __pyx_string_tab[3864]
#define __pyx_n_u_cynbGroups __pyx_string_tab[3865]
#define __pyx_n_u_cynodeParams_ptr __pyx_string_tab[3866]
#define __pyx_n_u_cynodes __pyx_string_tab[3867]
#define __pyx_n_u_cynvSciSyncAttrList __pyx_string_tab[3868]
#define __pyx_n_u_cynvSciSyncAttrList_ptr __pyx_string_tab[3869]
#define __pyx_n_u_cyobject __pyx_string_tab[3870]
#define __pyx_n_u_cyoobFill __pyx_string_tab[3871]
#define __pyx_n_u_cyopList __pyx_string_tab[3872]
#define __pyx_n_u_cyoperations __pyx_string_tab[3873]
#define __pyx_n_u_cyoption __pyx_string_tab[3874]
#define __pyx_n_u_cyoptionValues_ptr __pyx_string_tab[3875]
#define __pyx_n_u_cyoptions __pyx_string_tab[3876]
#define __pyx_n_u_cyoriginalGraph __pyx_string_tab[3877]
#define __pyx_n_u_cyosHandle __pyx_string_tab[3878]
#define __pyx_n_u_cyosHandle_ptr __pyx_string_tab[3879]
#define __pyx_n_u_cyp __pyx_string_tab[3880]
#define __pyx_n_u_cypAllocateArray_ptr __pyx_string_tab[3881]
#define __pyx_n_u_cypCopy_ptr __pyx_string_tab[3882]
#define __pyx_n_u_cypCudaDevices __pyx_string_tab[3883]
#define __pyx_n_u_cypCudaResource __pyx_string_tab[3884]
#define __pyx_n_u_cypExportTableId_ptr __pyx_string_tab[3885]
#define __pyx_n_u_cypMipmappedArrayDesc_ptr __pyx_string_tab[3886]
#define __pyx_n_u_cypResDesc_ptr __pyx_string_tab[3887]
#define __pyx_n_u_cypResViewDesc_ptr __pyx_string_tab[3888]
#define __pyx_n_u_cypStream __pyx_string_tab[3889]
#define __pyx_n_u_cypTexDesc_ptr __pyx_string_tab[3890]
#define __pyx_n_u_cyp_ptr __pyx_string_tab[3891]
#define __pyx_n_u_cyparamArray __pyx_string_tab[3892]
#define __pyx_n_u_cyparamsArray __pyx_string_tab[3893]
#define __pyx_n_u_cyparamsArray_ptr __pyx_string_tab[3894]
#define __pyx_n_u_cypeerContext __pyx_string_tab[3895]
#define __pyx_n_u_cypeerDev __pyx_string_tab[3896]
#define __pyx_n_u_cypformat __pyx_string_tab[3897]
#define __pyx_n_u_cypixelBoxLowerCorner __pyx_string_tab[3898]
#define __pyx_n_u_cypixelBoxUpperCorner __pyx_string_tab[3899]
#define __pyx_n_u_cypixelsPerColumn __pyx_string_tab[3900]
#define __pyx_n_u_cypool __pyx_string_tab[3901]
#define __pyx_n_u_cypoolProps_ptr __pyx_string_tab[3902]
#define __pyx_n_u_cyprefetchLocIdxs __pyx_string_tab[3903]
#define __pyx_n_u_cyprefetchLocs __pyx_string_tab[3904]
#define __pyx_n_u_cyprop_ptr __pyx_string_tab[3905]
#define __pyx_n_u_cyptr __pyx_string_tab[3906]
#define __pyx_n_u_cyptr_ptr __pyx_string_tab[3907]
#define __pyx_n_u_cyresource __pyx_string_tab[3908]
#define __pyx_n_u_cyresources __pyx_string_tab[3909]
#define __pyx_n_u_cyresult __pyx_string_tab[3910]
#define __pyx_n_u_cyrootNodes __pyx_string_tab[3911]
#define __pyx_n_u_cyscope __pyx_string_tab[3912]
#define __pyx_n_u_cysemHandleDesc_ptr __pyx_string_tab[3913]
#define __pyx_n_u_cyshHandleType __pyx_string_tab[3914]
#define __pyx_n_u_cyshareData_ptr __pyx_string_tab[3915]
#define __pyx_n_u_cyshareableHandle __pyx_string_tab[3916]
#define __pyx_n_u_cyshareableHandle_ptr __pyx_string_tab[3917]
#define __pyx_n_u_cysizes __pyx_string_tab[3918]
#define __pyx_n_u_cysrc __pyx_string_tab[3919]
#define __pyx_n_u_cysrcArray __pyx_string_tab[3920]
#define __pyx_n_u_cysrcContext __pyx_string_tab[3921]
#define __pyx_n_u_cysrcDevice __pyx_string_tab[3922]
#define __pyx_n_u_cysrcHost __pyx_string_tab[3923]
#define __pyx_n_u_cysrcHost_ptr __pyx_string_tab[3924]
#define __pyx_n_u_cysrcs __pyx_string_tab[3925]
#define __pyx_n_u_cystate __pyx_string_tab[3926]
#define __pyx_n_u_cystream __pyx_string_tab[3927]
#define __pyx_n_u_cysurfObject __pyx_string_tab[3928]
#define __pyx_n_u_cyswizzle __pyx_string_tab[3929]
#define __pyx_n_u_cytarget __pyx_string_tab[3930]
#define __pyx_n_u_cytensorDataType __pyx_string_tab[3931]
#define __pyx_n_u_cytensorMap_ptr __pyx_string_tab[3932]
#define __pyx_n_u_cytensorRank __pyx_string_tab[3933]
#define __pyx_n_u_cytexObject __pyx_string_tab[3934]
#define __pyx_n_u_cyto __pyx_string_tab[3935]
#define __pyx_n_u_cytypename __pyx_string_tab[3936]
#define __pyx_n_u_cyuserData __pyx_string_tab[3937]
#define __pyx_n_u_cyuserData_ptr __pyx_string_tab[3938]
#define __pyx_n_u_cyvalue __pyx_string_tab[3939]
#define __pyx_n_u_cyvalue_ptr __pyx_string_tab[3940]
#define __pyx_n_u_cyvdpDevice __pyx_string_tab[3941]
#define __pyx_n_u_cyvdpGetProcAddress __pyx_string_tab[3942]
#define __pyx_n_u_cyvdpSurface __pyx_string_tab[3943]
#define __pyx_n_u_cyvoidStarHelper_ptr __pyx_string_tab[3944]
#define __pyx_n_u_cywidth __pyx_string_tab[3945]
#define __pyx_n_u_dataSize __pyx_string_tab[3946]
#define __pyx_n_u_dataSizes __pyx_string_tab[3947]
#define __pyx_n_u_dataTable_2 __pyx_string_tab[3948]
#define __pyx_n_u_dataType_2 __pyx_string_tab[3949]
#define __pyx_n_u_dataWindowSize_2 __pyx_string_tab[3950]
#define __pyx_n_u_data_2 __pyx_string_tab[3951]
#define __pyx_n_u_data_size __pyx_string_tab[3952]
#define __pyx_n_u_defaultLaunchValue __pyx_string_tab[3953]
#define __pyx_n_u_default_2 __pyx_string_tab[3954]
#define __pyx_n_u_dependencies __pyx_string_tab[3955]
#define __pyx_n_u_dependencyData __pyx_string_tab[3956]
#define __pyx_n_u_depth_2 __pyx_string_tab[3957]
#define __pyx_n_u_desc __pyx_string_tab[3958]
#define __pyx_n_u_destroy __pyx_string_tab[3959]
#define __pyx_n_u_dev __pyx_string_tab[3960]
#define __pyx_n_u_devNode_2 __pyx_string_tab[3961]
#define __pyx_n_u_devPtr_2 __pyx_string_tab[3962]
#define __pyx_n_u_deviceBitMask_2 __pyx_string_tab[3963]
#define __pyx_n_u_deviceList __pyx_string_tab[3964]
#define __pyx_n_u_deviceNodeMask __pyx_string_tab[3965]
#define __pyx_n_u_deviceUpdatableKernelNode_2 __pyx_string_tab[3966]
#define __pyx_n_u_deviceUpdatable_2 __pyx_string_tab[3967]
#define __pyx_n_u_device_2 __pyx_string_tab[3968]
#define __pyx_n_u_dict_CUCoredumpGenerationFlags __pyx_string_tab[3969]
#define __pyx_n_u_dict_CUDA_POINTER_ATTRIBUTE_ACC __pyx_string_tab[3970]
#define __pyx_n_u_dict_CUGLDeviceList __pyx_string_tab[3971]
#define __pyx_n_u_dict_CUGLmap_flags __pyx_string_tab[3972]
#define __pyx_n_u_dict_CUGPUDirectRDMAWritesOrder __pyx_string_tab[3973]
#define __pyx_n_u_dict_CUaccessProperty __pyx_string_tab[3974]
#define __pyx_n_u_dict_CUaddress_mode __pyx_string_tab[3975]
#define __pyx_n_u_dict_CUarraySparseSubresourceTy __pyx_string_tab[3976]
#define __pyx_n_u_dict_CUarray_cubemap_face __pyx_string_tab[3977]
#define __pyx_n_u_dict_CUarray_format __pyx_string_tab[3978]
#define __pyx_n_u_dict_CUasyncNotificationType __pyx_string_tab[3979]
#define __pyx_n_u_dict_CUatomicOperation __pyx_string_tab[3980]
#define __pyx_n_u_dict_CUatomicOperationCapabilit __pyx_string_tab[3981]
#define __pyx_n_u_dict_CUcigDataType __pyx_string_tab[3982]
#define __pyx_n_u_dict_CUclusterSchedulingPolicy __pyx_string_tab[3983]
#define __pyx_n_u_dict_CUcomputemode __pyx_string_tab[3984]
#define __pyx_n_u_dict_CUcoredumpSettings __pyx_string_tab[3985]
#define __pyx_n_u_dict_CUctx_flags __pyx_string_tab[3986]
#define __pyx_n_u_dict_CUdevResourceType __pyx_string_tab[3987]
#define __pyx_n_u_dict_CUdevSmResourceGroup_flags __pyx_string_tab[3988]
#define __pyx_n_u_dict_CUdevSmResourceSplitByCoun __pyx_string_tab[3989]
#define __pyx_n_u_dict_CUdevWorkqueueConfigScope __pyx_string_tab[3990]
#define __pyx_n_u_dict_CUdeviceNumaConfig __pyx_string_tab[3991]
#define __pyx_n_u_dict_CUdevice_P2PAttribute __pyx_string_tab[3992]
#define __pyx_n_u_dict_CUdevice_attribute __pyx_string_tab[3993]
#define __pyx_n_u_dict_CUdriverProcAddressQueryRe __pyx_string_tab[3994]
#define __pyx_n_u_dict_CUdriverProcAddress_flags __pyx_string_tab[3995]
#define __pyx_n_u_dict_CUeglColorFormat __pyx_string_tab[3996]
#define __pyx_n_u_dict_CUeglFrameType __pyx_string_tab[3997]
#define __pyx_n_u_dict_CUeglResourceLocationFlags __pyx_string_tab[3998]
#define __pyx_n_u_dict_CUevent_flags __pyx_string_tab[3999]
#define __pyx_n_u_dict_CUevent_record_flags __pyx_string_tab[4000]
#define __pyx_n_u_dict_CUevent_sched_flags __pyx_string_tab[4001]
#define __pyx_n_u_dict_CUevent_wait_flags __pyx_string_tab[4002]
#define __pyx_n_u_dict_CUexecAffinityType __pyx_string_tab[4003]
#define __pyx_n_u_dict_CUexternalMemoryHandleType __pyx_string_tab[4004]
#define __pyx_n_u_dict_CUexternalSemaphoreHandleT __pyx_string_tab[4005]
#define __pyx_n_u_dict_CUfilter_mode __pyx_string_tab[4006]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites __pyx_string_tab[4007]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_2 __pyx_string_tab[4008]
#define __pyx_n_u_dict_CUflushGPUDirectRDMAWrites_3 __pyx_string_tab[4009]
#define __pyx_n_u_dict_CUfunc_cache __pyx_string_tab[4010]
#define __pyx_n_u_dict_CUfunctionLoadingState __pyx_string_tab[4011]
#define __pyx_n_u_dict_CUfunction_attribute __pyx_string_tab[4012]
#define __pyx_n_u_dict_CUgraphChildGraphNodeOwner __pyx_string_tab[4013]
#define __pyx_n_u_dict_CUgraphConditionalNodeType __pyx_string_tab[4014]
#define __pyx_n_u_dict_CUgraphDebugDot_flags __pyx_string_tab[4015]
#define __pyx_n_u_dict_CUgraphDependencyType __pyx_string_tab[4016]
#define __pyx_n_u_dict_CUgraphExecUpdateResult __pyx_string_tab[4017]
#define __pyx_n_u_dict_CUgraphInstantiateResult __pyx_string_tab[4018]
#define __pyx_n_u_dict_CUgraphInstantiate_flags __pyx_string_tab[4019]
#define __pyx_n_u_dict_CUgraphMem_attribute __pyx_string_tab[4020]
#define __pyx_n_u_dict_CUgraphNodeType __pyx_string_tab[4021]
#define __pyx_n_u_dict_CUgraphicsMapResourceFlags __pyx_string_tab[4022]
#define __pyx_n_u_dict_CUgraphicsRegisterFlags __pyx_string_tab[4023]
#define __pyx_n_u_dict_CUgreenCtxCreate_flags __pyx_string_tab[4024]
#define __pyx_n_u_dict_CUipcMem_flags __pyx_string_tab[4025]
#define __pyx_n_u_dict_CUjitInputType __pyx_string_tab[4026]
#define __pyx_n_u_dict_CUjit_cacheMode __pyx_string_tab[4027]
#define __pyx_n_u_dict_CUjit_fallback __pyx_string_tab[4028]
#define __pyx_n_u_dict_CUjit_option __pyx_string_tab[4029]
#define __pyx_n_u_dict_CUjit_target __pyx_string_tab[4030]
#define __pyx_n_u_dict_CUlaunchAttributeID __pyx_string_tab[4031]
#define __pyx_n_u_dict_CUlaunchMemSyncDomain __pyx_string_tab[4032]
#define __pyx_n_u_dict_CUlibraryOption __pyx_string_tab[4033]
#define __pyx_n_u_dict_CUlimit __pyx_string_tab[4034]
#define __pyx_n_u_dict_CUlogLevel __pyx_string_tab[4035]
#define __pyx_n_u_dict_CUmemAccess_flags __pyx_string_tab[4036]
#define __pyx_n_u_dict_CUmemAllocationCompType __pyx_string_tab[4037]
#define __pyx_n_u_dict_CUmemAllocationGranularity __pyx_string_tab[4038]
#define __pyx_n_u_dict_CUmemAllocationHandleType __pyx_string_tab[4039]
#define __pyx_n_u_dict_CUmemAllocationType __pyx_string_tab[4040]
#define __pyx_n_u_dict_CUmemAttach_flags __pyx_string_tab[4041]
#define __pyx_n_u_dict_CUmemDecompressAlgorithm __pyx_string_tab[4042]
#define __pyx_n_u_dict_CUmemHandleType __pyx_string_tab[4043]
#define __pyx_n_u_dict_CUmemLocationType __pyx_string_tab[4044]
#define __pyx_n_u_dict_CUmemOperationType __pyx_string_tab[4045]
#define __pyx_n_u_dict_CUmemPool_attribute __pyx_string_tab[4046]
#define __pyx_n_u_dict_CUmemRangeFlags __pyx_string_tab[4047]
#define __pyx_n_u_dict_CUmemRangeHandleType __pyx_string_tab[4048]
#define __pyx_n_u_dict_CUmem_advise __pyx_string_tab[4049]
#define __pyx_n_u_dict_CUmem_range_attribute __pyx_string_tab[4050]
#define __pyx_n_u_dict_CUmemcpy3DOperandType __pyx_string_tab[4051]
#define __pyx_n_u_dict_CUmemcpyFlags __pyx_string_tab[4052]
#define __pyx_n_u_dict_CUmemcpySrcAccessOrder __pyx_string_tab[4053]
#define __pyx_n_u_dict_CUmemorytype __pyx_string_tab[4054]
#define __pyx_n_u_dict_CUmoduleLoadingMode __pyx_string_tab[4055]
#define __pyx_n_u_dict_CUmulticastGranularity_fla __pyx_string_tab[4056]
#define __pyx_n_u_dict_CUoccupancy_flags __pyx_string_tab[4057]
#define __pyx_n_u_dict_CUoutput_mode __pyx_string_tab[4058]
#define __pyx_n_u_dict_CUpointer_attribute __pyx_string_tab[4059]
#define __pyx_n_u_dict_CUprocessState __pyx_string_tab[4060]
#define __pyx_n_u_dict_CUresourceViewFormat __pyx_string_tab[4061]
#define __pyx_n_u_dict_CUresourcetype __pyx_string_tab[4062]
#define __pyx_n_u_dict_CUresult __pyx_string_tab[4063]
#define __pyx_n_u_dict_CUshared_carveout __pyx_string_tab[4064]
#define __pyx_n_u_dict_CUsharedconfig __pyx_string_tab[4065]
#define __pyx_n_u_dict_CUstreamAtomicReductionDat __pyx_string_tab[4066]
#define __pyx_n_u_dict_CUstreamAtomicReductionOpT __pyx_string_tab[4067]
#define __pyx_n_u_dict_CUstreamBatchMemOpType __pyx_string_tab[4068]
#define __pyx_n_u_dict_CUstreamCaptureMode __pyx_string_tab[4069]
#define __pyx_n_u_dict_CUstreamCaptureStatus __pyx_string_tab[4070]
#define __pyx_n_u_dict_CUstreamMemoryBarrier_flag __pyx_string_tab[4071]
#define __pyx_n_u_dict_CUstreamUpdateCaptureDepen __pyx_string_tab[4072]
#define __pyx_n_u_dict_CUstreamWaitValue_flags __pyx_string_tab[4073]
#define __pyx_n_u_dict_CUstreamWriteValue_flags __pyx_string_tab[4074]
#define __pyx_n_u_dict_CUstream_flags __pyx_string_tab[4075]
#define __pyx_n_u_dict_CUsynchronizationPolicy __pyx_string_tab[4076]
#define __pyx_n_u_dict_CUtensorMapDataType __pyx_string_tab[4077]
#define __pyx_n_u_dict_CUtensorMapFloatOOBfill __pyx_string_tab[4078]
#define __pyx_n_u_dict_CUtensorMapIm2ColWideMode __pyx_string_tab[4079]
#define __pyx_n_u_dict_CUtensorMapInterleave __pyx_string_tab[4080]
#define __pyx_n_u_dict_CUtensorMapL2promotion __pyx_string_tab[4081]
#define __pyx_n_u_dict_CUtensorMapSwizzle __pyx_string_tab[4082]
#define __pyx_n_u_dict_CUuserObjectRetain_flags __pyx_string_tab[4083]
#define __pyx_n_u_dict_CUuserObject_flags __pyx_string_tab[4084]
#define __pyx_n_u_dict_cl_context_flags __pyx_string_tab[4085]
#define __pyx_n_u_dict_cl_event_flags __pyx_string_tab[4086]
#define __pyx_n_u_dim __pyx_string_tab[4087]
#define __pyx_n_u_doc __pyx_string_tab[4088]
#define __pyx_n_u_dptr_2 __pyx_string_tab[4089]
#define __pyx_n_u_dptr_out __pyx_string_tab[4090]
#define __pyx_n_u_dptrs __pyx_string_tab[4091]
#define __pyx_n_u_driver __pyx_string_tab[4092]
#define __pyx_n_u_driverVersion __pyx_string_tab[4093]
#define __pyx_n_u_dstActBytes_2 __pyx_string_tab[4094]
#define __pyx_n_u_dstArray_2 __pyx_string_tab[4095]
#define __pyx_n_u_dstContext_2 __pyx_string_tab[4096]
#define __pyx_n_u_dstDevice_2 __pyx_string_tab[4097]
#define __pyx_n_u_dstHeight_2 __pyx_string_tab[4098]
#define __pyx_n_u_dstHost_2 __pyx_string_tab[4099]
#define __pyx_n_u_dstLOD_2 __pyx_string_tab[4100]
#define __pyx_n_u_dstLocHint_2 __pyx_string_tab[4101]
#define __pyx_n_u_dstMemoryType_2 __pyx_string_tab[4102]
#define __pyx_n_u_dstNumBytes_2 __pyx_string_tab[4103]
#define __pyx_n_u_dstOffset __pyx_string_tab[4104]
#define __pyx_n_u_dstPitch_2 __pyx_string_tab[4105]
#define __pyx_n_u_dstXInBytes_2 __pyx_string_tab[4106]
#define __pyx_n_u_dstY_2 __pyx_string_tab[4107]
#define __pyx_n_u_dstZ_2 __pyx_string_tab[4108]
#define __pyx_n_u_dst_2 __pyx_string_tab[4109]
#define __pyx_n_u_dsts __pyx_string_tab[4110]
#define __pyx_n_u_dynamicSMemSize __pyx_string_tab[4111]
#define __pyx_n_u_dynamicSmemSize __pyx_string_tab[4112]
#define __pyx_n_u_edgeData __pyx_string_tab[4113]
#define __pyx_n_u_eglColorFormat_2 __pyx_string_tab[4114]
#define __pyx_n_u_eglFrame __pyx_string_tab[4115]
#define __pyx_n_u_eglSync __pyx_string_tab[4116]
#define __pyx_n_u_eglframe __pyx_string_tab[4117]
#define __pyx_n_u_elementSize_2 __pyx_string_tab[4118]
#define __pyx_n_u_elementStrides __pyx_string_tab[4119]
#define __pyx_n_u_enum __pyx_string_tab[4120]
#define __pyx_n_u_enumerate __pyx_string_tab[4121]
#define __pyx_n_u_err __pyx_string_tab[4122]
#define __pyx_n_u_error __pyx_string_tab[4123]
#define __pyx_n_u_errorFromNode_2 __pyx_string_tab[4124]
#define __pyx_n_u_errorIndex __pyx_string_tab[4125]
#define __pyx_n_u_errorNode_2 __pyx_string_tab[4126]
#define __pyx_n_u_eventRecord_2 __pyx_string_tab[4127]
#define __pyx_n_u_eventWait_2 __pyx_string_tab[4128]
#define __pyx_n_u_event_2 __pyx_string_tab[4129]
#define __pyx_n_u_event_out __pyx_string_tab[4130]
#define __pyx_n_u_execAffinityParams_2 __pyx_string_tab[4131]
#define __pyx_n_u_extMem __pyx_string_tab[4132]
#define __pyx_n_u_extMem_out __pyx_string_tab[4133]
#define __pyx_n_u_extSem __pyx_string_tab[4134]
#define __pyx_n_u_extSemArray_2 __pyx_string_tab[4135]
#define __pyx_n_u_extSemSignal_2 __pyx_string_tab[4136]
#define __pyx_n_u_extSemWait_2 __pyx_string_tab[4137]
#define __pyx_n_u_extSem_out __pyx_string_tab[4138]
#define __pyx_n_u_extentDepth_2 __pyx_string_tab[4139]
#define __pyx_n_u_extentHeight_2 __pyx_string_tab[4140]
#define __pyx_n_u_extentWidth_2 __pyx_string_tab[4141]
#define __pyx_n_u_extent_2 __pyx_string_tab[4142]
#define __pyx_n_u_extra_2 __pyx_string_tab[4143]
#define __pyx_n_u_f __pyx_string_tab[4144]
#define __pyx_n_u_fatCubin __pyx_string_tab[4145]
#define __pyx_n_u_fd_2 __pyx_string_tab[4146]
#define __pyx_n_u_fence_2 __pyx_string_tab[4147]
#define __pyx_n_u_fileName __pyx_string_tab[4148]
#define __pyx_n_u_filterMode_2 __pyx_string_tab[4149]
#define __pyx_n_u_firstLayer_2 __pyx_string_tab[4150]
#define __pyx_n_u_firstMipmapLevel_2 __pyx_string_tab[4151]
#define __pyx_n_u_flags_2 __pyx_string_tab[4152]
#define __pyx_n_u_flushRemoteWrites_2 __pyx_string_tab[4153]
#define __pyx_n_u_fm __pyx_string_tab[4154]
#define __pyx_n_u_fmt __pyx_string_tab[4155]
#define __pyx_n_u_fn_2 __pyx_string_tab[4156]
#define __pyx_n_u_fname __pyx_string_tab[4157]
#define __pyx_n_u_format __pyx_string_tab[4158]
#define __pyx_n_u_fptr __pyx_string_tab[4159]
#define __pyx_n_u_frameType_2 __pyx_string_tab[4160]
#define __pyx_n_u_frame_2 __pyx_string_tab[4161]
#define __pyx_n_u_free_2 __pyx_string_tab[4162]
#define __pyx_n_u_from __pyx_string_tab[4163]
#define __pyx_n_u_from_port_2 __pyx_string_tab[4164]
#define __pyx_n_u_func_2 __pyx_string_tab[4165]
#define __pyx_n_u_func_3 __pyx_string_tab[4166]
#define __pyx_n_u_functionTable_2 __pyx_string_tab[4167]
#define __pyx_n_u_functionWindowSize_2 __pyx_string_tab[4168]
#define __pyx_n_u_function_2 __pyx_string_tab[4169]
#define __pyx_n_u_genexpr __pyx_string_tab[4170]
#define __pyx_n_u_getPtr __pyx_string_tab[4171]
#define __pyx_n_u_getstate __pyx_string_tab[4172]
#define __pyx_n_u_globalAddress __pyx_string_tab[4173]
#define __pyx_n_u_globalDim __pyx_string_tab[4174]
#define __pyx_n_u_globalStrides __pyx_string_tab[4175]
#define __pyx_n_u_gpuDirectRDMACapable_2 __pyx_string_tab[4176]
#define __pyx_n_u_gpuPairsCount_2 __pyx_string_tab[4177]
#define __pyx_n_u_gpuPairs_2 __pyx_string_tab[4178]
#define __pyx_n_u_granularity __pyx_string_tab[4179]
#define __pyx_n_u_graphId __pyx_string_tab[4180]
#define __pyx_n_u_graph_2 __pyx_string_tab[4181]
#define __pyx_n_u_graph_length __pyx_string_tab[4182]
#define __pyx_n_u_graph_out __pyx_string_tab[4183]
#define __pyx_n_u_greatestPriority __pyx_string_tab[4184]
#define __pyx_n_u_greenCtx __pyx_string_tab[4185]
#define __pyx_n_u_greenCtxId __pyx_string_tab[4186]
#define __pyx_n_u_gridDimX_2 __pyx_string_tab[4187]
#define __pyx_n_u_gridDimY_2 __pyx_string_tab[4188]
#define __pyx_n_u_gridDimZ_2 __pyx_string_tab[4189]
#define __pyx_n_u_grid_height __pyx_string_tab[4190]
#define __pyx_n_u_grid_width __pyx_string_tab[4191]
#define __pyx_n_u_groupParams __pyx_string_tab[4192]
#define __pyx_n_u_hArray_2 __pyx_string_tab[4193]
#define __pyx_n_u_hClonedGraph __pyx_string_tab[4194]
#define __pyx_n_u_hCtx __pyx_string_tab[4195]
#define __pyx_n_u_hEnd __pyx_string_tab[4196]
#define __pyx_n_u_hErrNode_out_2 __pyx_string_tab[4197]
#define __pyx_n_u_hEvent __pyx_string_tab[4198]
#define __pyx_n_u_hGraph __pyx_string_tab[4199]
#define __pyx_n_u_hGraphExec __pyx_string_tab[4200]
#define __pyx_n_u_hMipmappedArray_2 __pyx_string_tab[4201]
#define __pyx_n_u_hNode __pyx_string_tab[4202]
#define __pyx_n_u_hOriginalNode __pyx_string_tab[4203]
#define __pyx_n_u_hStart __pyx_string_tab[4204]
#define __pyx_n_u_hStream_2 __pyx_string_tab[4205]
#define __pyx_n_u_hSurfRef __pyx_string_tab[4206]
#define __pyx_n_u_hTexRef __pyx_string_tab[4207]
#define __pyx_n_u_hUploadStream_2 __pyx_string_tab[4208]
#define __pyx_n_u_handleType __pyx_string_tab[4209]
#define __pyx_n_u_handleTypes_2 __pyx_string_tab[4210]
#define __pyx_n_u_handle_2 __pyx_string_tab[4211]
#define __pyx_n_u_height_2 __pyx_string_tab[4212]
#define __pyx_n_u_hex __pyx_string_tab[4213]
#define __pyx_n_u_hfunc __pyx_string_tab[4214]
#define __pyx_n_u_hitProp_2 __pyx_string_tab[4215]
#define __pyx_n_u_hitRatio_2 __pyx_string_tab[4216]
#define __pyx_n_u_hmod __pyx_string_tab[4217]
#define __pyx_n_u_host_2 __pyx_string_tab[4218]
#define __pyx_n_u_id_2 __pyx_string_tab[4219]
#define __pyx_n_u_id_out __pyx_string_tab[4220]
#define __pyx_n_u_idx __pyx_string_tab[4221]
#define __pyx_n_u_image __pyx_string_tab[4222]
#define __pyx_n_u_index __pyx_string_tab[4223]
#define __pyx_n_u_info_2 __pyx_string_tab[4224]
#define __pyx_n_u_init_value __pyx_string_tab[4225]
#define __pyx_n_u_initialRefcount __pyx_string_tab[4226]
#define __pyx_n_u_input __pyx_string_tab[4227]
#define __pyx_n_u_instantiateParams __pyx_string_tab[4228]
#define __pyx_n_u_int __pyx_string_tab[4229]
#define __pyx_n_u_interleave __pyx_string_tab[4230]
#define __pyx_n_u_internal_padding_2 __pyx_string_tab[4231]
#define __pyx_n_u_isEnabled __pyx_string_tab[4232]
#define __pyx_n_u_is_coroutine __pyx_string_tab[4233]
#define __pyx_n_u_is_getter __pyx_string_tab[4234]
#define __pyx_n_u_items __pyx_string_tab[4235]
#define __pyx_n_u_iterator __pyx_string_tab[4236]
#define __pyx_n_u_iterator_out __pyx_string_tab[4237]
#define __pyx_n_u_jitOptions __pyx_string_tab[4238]
#define __pyx_n_u_jitOptionsValues __pyx_string_tab[4239]
#define __pyx_n_u_k __pyx_string_tab[4240]
#define __pyx_n_u_kern_2 __pyx_string_tab[4241]
#define __pyx_n_u_kernelParams __pyx_string_tab[4242]
#define __pyx_n_u_kernel_2 __pyx_string_tab[4243]
#define __pyx_n_u_key_2 __pyx_string_tab[4244]
#define __pyx_n_u_keyedMutex_2 __pyx_string_tab[4245]
#define __pyx_n_u_l2Promotion __pyx_string_tab[4246]
#define __pyx_n_u_lambda __pyx_string_tab[4247]
#define __pyx_n_u_lastLayer_2 __pyx_string_tab[4248]
#define __pyx_n_u_lastMipmapLevel_2 __pyx_string_tab[4249]
#define __pyx_n_u_launchCompletionEvent_2 __pyx_string_tab[4250]
#define __pyx_n_u_launchParamsList __pyx_string_tab[4251]
#define __pyx_n_u_layerHeight_2 __pyx_string_tab[4252]
#define __pyx_n_u_layer_2 __pyx_string_tab[4253]
#define __pyx_n_u_leastPriority __pyx_string_tab[4254]
#define __pyx_n_u_length __pyx_string_tab[4255]
#define __pyx_n_u_level_2 __pyx_string_tab[4256]
#define __pyx_n_u_lib __pyx_string_tab[4257]
#define __pyx_n_u_library __pyx_string_tab[4258]
#define __pyx_n_u_libraryOptionValues __pyx_string_tab[4259]
#define __pyx_n_u_libraryOptions __pyx_string_tab[4260]
#define __pyx_n_u_limit __pyx_string_tab[4261]
#define __pyx_n_u_linear_2 __pyx_string_tab[4262]
#define __pyx_n_u_locHint_2 __pyx_string_tab[4263]
#define __pyx_n_u_location_2 __pyx_string_tab[4264]
#define __pyx_n_u_lst __pyx_string_tab[4265]
#define __pyx_n_u_luid __pyx_string_tab[4266]
#define __pyx_n_u_main __pyx_string_tab[4267]
#define __pyx_n_u_major __pyx_string_tab[4268]
#define __pyx_n_u_map __pyx_string_tab[4269]
#define __pyx_n_u_mapInfoList __pyx_string_tab[4270]
#define __pyx_n_u_max __pyx_string_tab[4271]
#define __pyx_n_u_maxAniso __pyx_string_tab[4272]
#define __pyx_n_u_maxAnisotropy_2 __pyx_string_tab[4273]
#define __pyx_n_u_maxGridSize_2 __pyx_string_tab[4274]
#define __pyx_n_u_maxMipmapLevelClamp_2 __pyx_string_tab[4275]
#define __pyx_n_u_maxSize_2 __pyx_string_tab[4276]
#define __pyx_n_u_maxThreadsDim_2 __pyx_string_tab[4277]
#define __pyx_n_u_maxThreadsPerBlock_2 __pyx_string_tab[4278]
#define __pyx_n_u_maxWidthInElements __pyx_string_tab[4279]
#define __pyx_n_u_max_param_size __pyx_string_tab[4280]
#define __pyx_n_u_mcHandle __pyx_string_tab[4281]
#define __pyx_n_u_mcOffset __pyx_string_tab[4282]
#define __pyx_n_u_memHandleDesc __pyx_string_tab[4283]
#define __pyx_n_u_memHandleType_2 __pyx_string_tab[4284]
#define __pyx_n_u_memHandle_2 __pyx_string_tab[4285]
#define __pyx_n_u_memOffset __pyx_string_tab[4286]
#define __pyx_n_u_memOp_2 __pyx_string_tab[4287]
#define __pyx_n_u_memOperationType_2 __pyx_string_tab[4288]
#define __pyx_n_u_memPitch_2 __pyx_string_tab[4289]
#define __pyx_n_u_memPool __pyx_string_tab[4290]
#define __pyx_n_u_memSyncDomainMap_2 __pyx_string_tab[4291]
#define __pyx_n_u_memSyncDomain_2 __pyx_string_tab[4292]
#define __pyx_n_u_members __pyx_string_tab[4293]
#define __pyx_n_u_memcpy_2 __pyx_string_tab[4294]
#define __pyx_n_u_memoryBarrier_2 __pyx_string_tab[4295]
#define __pyx_n_u_memoryRequirements __pyx_string_tab[4296]
#define __pyx_n_u_memptr __pyx_string_tab[4297]
#define __pyx_n_u_memsetParams __pyx_string_tab[4298]
#define __pyx_n_u_memset_2 __pyx_string_tab[4299]
#define __pyx_n_u_metaclass __pyx_string_tab[4300]
#define __pyx_n_u_minBytesToKeep __pyx_string_tab[4301]
#define __pyx_n_u_minCount __pyx_string_tab[4302]
#define __pyx_n_u_minGridSize __pyx_string_tab[4303]
#define __pyx_n_u_minMipmapLevelClamp_2 __pyx_string_tab[4304]
#define __pyx_n_u_minSmPartitionSize_2 __pyx_string_tab[4305]
#define __pyx_n_u_minor __pyx_string_tab[4306]
#define __pyx_n_u_mipLevel __pyx_string_tab[4307]
#define __pyx_n_u_mipmapDesc __pyx_string_tab[4308]
#define __pyx_n_u_mipmapFilterMode_2 __pyx_string_tab[4309]
#define __pyx_n_u_mipmapLevelBias_2 __pyx_string_tab[4310]
#define __pyx_n_u_mipmap_2 __pyx_string_tab[4311]
#define __pyx_n_u_miptailFirstLevel_2 __pyx_string_tab[4312]
#define __pyx_n_u_miptailSize_2 __pyx_string_tab[4313]
#define __pyx_n_u_miptail_2 __pyx_string_tab[4314]
#define __pyx_n_u_missProp_2 __pyx_string_tab[4315]
#define __pyx_n_u_mod __pyx_string_tab[4316]
#define __pyx_n_u_mode __pyx_string_tab[4317]
#define __pyx_n_u_module __pyx_string_tab[4318]
#define __pyx_n_u_module_2 __pyx_string_tab[4319]
#define __pyx_n_u_mro_entries __pyx_string_tab[4320]
#define __pyx_n_u_name __pyx_string_tab[4321]
#define __pyx_n_u_name_3 __pyx_string_tab[4322]
#define __pyx_n_u_nbGroups __pyx_string_tab[4323]
#define __pyx_n_u_nbResources __pyx_string_tab[4324]
#define __pyx_n_u_newUuid_2 __pyx_string_tab[4325]
#define __pyx_n_u_next __pyx_string_tab[4326]
#define __pyx_n_u_nextResource_2 __pyx_string_tab[4327]
#define __pyx_n_u_nodeId __pyx_string_tab[4328]
#define __pyx_n_u_nodeParams __pyx_string_tab[4329]
#define __pyx_n_u_nodeParams_out __pyx_string_tab[4330]
#define __pyx_n_u_numAttributes __pyx_string_tab[4331]
#define __pyx_n_u_numAttrs_2 __pyx_string_tab[4332]
#define __pyx_n_u_numBlocks __pyx_string_tab[4333]
#define __pyx_n_u_numChannels_2 __pyx_string_tab[4334]
#define __pyx_n_u_numClusters __pyx_string_tab[4335]
#define __pyx_n_u_numDependencies __pyx_string_tab[4336]
#define __pyx_n_u_numDependencies_out __pyx_string_tab[4337]
#define __pyx_n_u_numDependentNodes __pyx_string_tab[4338]
#define __pyx_n_u_numDevices_2 __pyx_string_tab[4339]
#define __pyx_n_u_numEdges __pyx_string_tab[4340]
#define __pyx_n_u_numExecAffinityParams_2 __pyx_string_tab[4341]
#define __pyx_n_u_numExtSems_2 __pyx_string_tab[4342]
#define __pyx_n_u_numFunctions __pyx_string_tab[4343]
#define __pyx_n_u_numJitOptions __pyx_string_tab[4344]
#define __pyx_n_u_numKernels __pyx_string_tab[4345]
#define __pyx_n_u_numLevels_2 __pyx_string_tab[4346]
#define __pyx_n_u_numLibraryOptions __pyx_string_tab[4347]
#define __pyx_n_u_numMipmapLevels __pyx_string_tab[4348]
#define __pyx_n_u_numNodes __pyx_string_tab[4349]
#define __pyx_n_u_numOps __pyx_string_tab[4350]
#define __pyx_n_u_numOptions __pyx_string_tab[4351]
#define __pyx_n_u_numPrefetchLocs __pyx_string_tab[4352]
#define __pyx_n_u_numRootNodes __pyx_string_tab[4353]
#define __pyx_n_u_num_bytes_2 __pyx_string_tab[4354]
#define __pyx_n_u_numbytes __pyx_string_tab[4355]
#define __pyx_n_u_nvSciBufObject_2 __pyx_string_tab[4356]
#define __pyx_n_u_nvSciSyncAttrList __pyx_string_tab[4357]
#define __pyx_n_u_nvSciSyncObj_2 __pyx_string_tab[4358]
#define __pyx_n_u_nvSciSync_2 __pyx_string_tab[4359]
#define __pyx_n_u_nvlinkUtilCentricScheduling_2 __pyx_string_tab[4360]
#define __pyx_n_u_obj __pyx_string_tab[4361]
#define __pyx_n_u_objType __pyx_string_tab[4362]
#define __pyx_n_u_object __pyx_string_tab[4363]
#define __pyx_n_u_object_out __pyx_string_tab[4364]
#define __pyx_n_u_offsetX_2 __pyx_string_tab[4365]
#define __pyx_n_u_offsetY_2 __pyx_string_tab[4366]
#define __pyx_n_u_offsetZ_2 __pyx_string_tab[4367]
#define __pyx_n_u_offset_2 __pyx_string_tab[4368]
#define __pyx_n_u_oldUuid_2 __pyx_string_tab[4369]
#define __pyx_n_u_oobFill __pyx_string_tab[4370]
#define __pyx_n_u_opList __pyx_string_tab[4371]
#define __pyx_n_u_op_2 __pyx_string_tab[4372]
#define __pyx_n_u_opaque_2 __pyx_string_tab[4373]
#define __pyx_n_u_operation_2 __pyx_string_tab[4374]
#define __pyx_n_u_operations __pyx_string_tab[4375]
#define __pyx_n_u_option __pyx_string_tab[4376]
#define __pyx_n_u_optionValues __pyx_string_tab[4377]
#define __pyx_n_u_options __pyx_string_tab[4378]
#define __pyx_n_u_ordinal __pyx_string_tab[4379]
#define __pyx_n_u_originalGraph __pyx_string_tab[4380]
#define __pyx_n_u_osHandle __pyx_string_tab[4381]
#define __pyx_n_u_overBudget_2 __pyx_string_tab[4382]
#define __pyx_n_u_oversize_2 __pyx_string_tab[4383]
#define __pyx_n_u_ownership_2 __pyx_string_tab[4384]
#define __pyx_n_u_p __pyx_string_tab[4385]
#define __pyx_n_u_p2pToken_2 __pyx_string_tab[4386]
#define __pyx_n_u_pAllocateArray __pyx_string_tab[4387]
#define __pyx_n_u_pArrayDescriptor __pyx_string_tab[4388]
#define __pyx_n_u_pArray_2 __pyx_string_tab[4389]
#define __pyx_n_u_pBorderColor __pyx_string_tab[4390]
#define __pyx_n_u_pConfig __pyx_string_tab[4391]
#define __pyx_n_u_pContext __pyx_string_tab[4392]
#define __pyx_n_u_pCopy __pyx_string_tab[4393]
#define __pyx_n_u_pCtx __pyx_string_tab[4394]
#define __pyx_n_u_pCudaDeviceCount __pyx_string_tab[4395]
#define __pyx_n_u_pCudaResource __pyx_string_tab[4396]
#define __pyx_n_u_pDevPtr __pyx_string_tab[4397]
#define __pyx_n_u_pDevice __pyx_string_tab[4398]
#define __pyx_n_u_pExecAffinity __pyx_string_tab[4399]
#define __pyx_n_u_pExportTableId __pyx_string_tab[4400]
#define __pyx_n_u_pFlags __pyx_string_tab[4401]
#define __pyx_n_u_pFormat __pyx_string_tab[4402]
#define __pyx_n_u_pFunc __pyx_string_tab[4403]
#define __pyx_n_u_pGreenCtx __pyx_string_tab[4404]
#define __pyx_n_u_pHandle __pyx_string_tab[4405]
#define __pyx_n_u_pHandle_out __pyx_string_tab[4406]
#define __pyx_n_u_pKernel __pyx_string_tab[4407]
#define __pyx_n_u_pLevelArray __pyx_string_tab[4408]
#define __pyx_n_u_pLib __pyx_string_tab[4409]
#define __pyx_n_u_pMilliseconds __pyx_string_tab[4410]
#define __pyx_n_u_pMipmappedArray __pyx_string_tab[4411]
#define __pyx_n_u_pMipmappedArrayDesc __pyx_string_tab[4412]
#define __pyx_n_u_pMod __pyx_string_tab[4413]
#define __pyx_n_u_pNumChannels __pyx_string_tab[4414]
#define __pyx_n_u_pPitch_2 __pyx_string_tab[4415]
#define __pyx_n_u_pPlaneArray __pyx_string_tab[4416]
#define __pyx_n_u_pResDesc __pyx_string_tab[4417]
#define __pyx_n_u_pResViewDesc __pyx_string_tab[4418]
#define __pyx_n_u_pSize __pyx_string_tab[4419]
#define __pyx_n_u_pStr __pyx_string_tab[4420]
#define __pyx_n_u_pStream __pyx_string_tab[4421]
#define __pyx_n_u_pSurfObject __pyx_string_tab[4422]
#define __pyx_n_u_pSurfRef __pyx_string_tab[4423]
#define __pyx_n_u_pTexDesc __pyx_string_tab[4424]
#define __pyx_n_u_pTexObject __pyx_string_tab[4425]
#define __pyx_n_u_pTexRef __pyx_string_tab[4426]
#define __pyx_n_u_pad_2 __pyx_string_tab[4427]
#define __pyx_n_u_padding_2 __pyx_string_tab[4428]
#define __pyx_n_u_paddr __pyx_string_tab[4429]
#define __pyx_n_u_pam __pyx_string_tab[4430]
#define __pyx_n_u_paramArray_2 __pyx_string_tab[4431]
#define __pyx_n_u_paramIndex __pyx_string_tab[4432]
#define __pyx_n_u_paramOffset __pyx_string_tab[4433]
#define __pyx_n_u_paramSize __pyx_string_tab[4434]
#define __pyx_n_u_param_2 __pyx_string_tab[4435]
#define __pyx_n_u_paramsArray_2 __pyx_string_tab[4436]
#define __pyx_n_u_params_2 __pyx_string_tab[4437]
#define __pyx_n_u_params_out __pyx_string_tab[4438]
#define __pyx_n_u_parray __pyx_string_tab[4439]
#define __pyx_n_u_path __pyx_string_tab[4440]
#define __pyx_n_u_pathToFile __pyx_string_tab[4441]
#define __pyx_n_u_pbase __pyx_string_tab[4442]
#define __pyx_n_u_pbias __pyx_string_tab[4443]
#define __pyx_n_u_pblockSizeToDynamicSMemSize __pyx_string_tab[4444]
#define __pyx_n_u_pbuffer __pyx_string_tab[4445]
#define __pyx_n_u_pcallback __pyx_string_tab[4446]
#define __pyx_n_u_pcallbackFunc __pyx_string_tab[4447]
#define __pyx_n_u_pchannelsPerPixel __pyx_string_tab[4448]
#define __pyx_n_u_pchildGraph __pyx_string_tab[4449]
#define __pyx_n_u_pciBusId __pyx_string_tab[4450]
#define __pyx_n_u_pconfig __pyx_string_tab[4451]
#define __pyx_n_u_pconn __pyx_string_tab[4452]
#define __pyx_n_u_pctx __pyx_string_tab[4453]
#define __pyx_n_u_pdesc __pyx_string_tab[4454]
#define __pyx_n_u_pdestroy __pyx_string_tab[4455]
#define __pyx_n_u_pdev __pyx_string_tab[4456]
#define __pyx_n_u_pdevPtr __pyx_string_tab[4457]
#define __pyx_n_u_pdevice __pyx_string_tab[4458]
#define __pyx_n_u_pdptr __pyx_string_tab[4459]
#define __pyx_n_u_pdst __pyx_string_tab[4460]
#define __pyx_n_u_pdstArray __pyx_string_tab[4461]
#define __pyx_n_u_pdstContext __pyx_string_tab[4462]
#define __pyx_n_u_pdstDevice __pyx_string_tab[4463]
#define __pyx_n_u_peerContext __pyx_string_tab[4464]
#define __pyx_n_u_peerDev __pyx_string_tab[4465]
#define __pyx_n_u_peglSync __pyx_string_tab[4466]
#define __pyx_n_u_pevent __pyx_string_tab[4467]
#define __pyx_n_u_pextMem __pyx_string_tab[4468]
#define __pyx_n_u_pextSem __pyx_string_tab[4469]
#define __pyx_n_u_pf __pyx_string_tab[4470]
#define __pyx_n_u_pflags __pyx_string_tab[4471]
#define __pyx_n_u_pfm __pyx_string_tab[4472]
#define __pyx_n_u_pfn __pyx_string_tab[4473]
#define __pyx_n_u_pformat __pyx_string_tab[4474]
#define __pyx_n_u_pfunc __pyx_string_tab[4475]
#define __pyx_n_u_pfunction __pyx_string_tab[4476]
#define __pyx_n_u_pgraph __pyx_string_tab[4477]
#define __pyx_n_u_pgreenCtx __pyx_string_tab[4478]
#define __pyx_n_u_phArray __pyx_string_tab[4479]
#define __pyx_n_u_phClonedGraph __pyx_string_tab[4480]
#define __pyx_n_u_phCtx __pyx_string_tab[4481]
#define __pyx_n_u_phDesc __pyx_string_tab[4482]
#define __pyx_n_u_phEnd __pyx_string_tab[4483]
#define __pyx_n_u_phEvent __pyx_string_tab[4484]
#define __pyx_n_u_phGraph __pyx_string_tab[4485]
#define __pyx_n_u_phGraphClone __pyx_string_tab[4486]
#define __pyx_n_u_phGraphExec __pyx_string_tab[4487]
#define __pyx_n_u_phGraphNode __pyx_string_tab[4488]
#define __pyx_n_u_phGraph_out_2 __pyx_string_tab[4489]
#define __pyx_n_u_phMipmappedArray __pyx_string_tab[4490]
#define __pyx_n_u_phNode __pyx_string_tab[4491]
#define __pyx_n_u_phOriginalNode __pyx_string_tab[4492]
#define __pyx_n_u_phStart __pyx_string_tab[4493]
#define __pyx_n_u_phStream __pyx_string_tab[4494]
#define __pyx_n_u_phSurfRef __pyx_string_tab[4495]
#define __pyx_n_u_phTexRef __pyx_string_tab[4496]
#define __pyx_n_u_phandle __pyx_string_tab[4497]
#define __pyx_n_u_pheight __pyx_string_tab[4498]
#define __pyx_n_u_phfunc __pyx_string_tab[4499]
#define __pyx_n_u_phmod __pyx_string_tab[4500]
#define __pyx_n_u_pi __pyx_string_tab[4501]
#define __pyx_n_u_pid __pyx_string_tab[4502]
#define __pyx_n_u_pimage __pyx_string_tab[4503]
#define __pyx_n_u_pitch2D_2 __pyx_string_tab[4504]
#define __pyx_n_u_pitchInBytes_2 __pyx_string_tab[4505]
#define __pyx_n_u_pitch_2 __pyx_string_tab[4506]
#define __pyx_n_u_pixelBoxLowerCorner __pyx_string_tab[4507]
#define __pyx_n_u_pixelBoxLowerCornerWidth __pyx_string_tab[4508]
#define __pyx_n_u_pixelBoxUpperCorner __pyx_string_tab[4509]
#define __pyx_n_u_pixelBoxUpperCornerWidth __pyx_string_tab[4510]
#define __pyx_n_u_pixelsPerColumn __pyx_string_tab[4511]
#define __pyx_n_u_pkernel __pyx_string_tab[4512]
#define __pyx_n_u_planeCount_2 __pyx_string_tab[4513]
#define __pyx_n_u_planeIdx __pyx_string_tab[4514]
#define __pyx_n_u_plib __pyx_string_tab[4515]
#define __pyx_n_u_plibrary __pyx_string_tab[4516]
#define __pyx_n_u_pmaxAniso __pyx_string_tab[4517]
#define __pyx_n_u_pmaxMipmapLevelClamp __pyx_string_tab[4518]
#define __pyx_n_u_pmcHandle __pyx_string_tab[4519]
#define __pyx_n_u_pmemHandle __pyx_string_tab[4520]
#define __pyx_n_u_pmemPool __pyx_string_tab[4521]
#define __pyx_n_u_pmemptr __pyx_string_tab[4522]
#define __pyx_n_u_pminMipmapLevelClamp __pyx_string_tab[4523]
#define __pyx_n_u_pmipmap __pyx_string_tab[4524]
#define __pyx_n_u_pmod __pyx_string_tab[4525]
#define __pyx_n_u_pobject __pyx_string_tab[4526]
#define __pyx_n_u_pool __pyx_string_tab[4527]
#define __pyx_n_u_poolProps_2 __pyx_string_tab[4528]
#define __pyx_n_u_pool_out __pyx_string_tab[4529]
#define __pyx_n_u_pop __pyx_string_tab[4530]
#define __pyx_n_u_poriginalGraph __pyx_string_tab[4531]
#define __pyx_n_u_pp __pyx_string_tab[4532]
#define __pyx_n_u_ppCudaResource __pyx_string_tab[4533]
#define __pyx_n_u_ppExportTable __pyx_string_tab[4534]
#define __pyx_n_u_ppStream __pyx_string_tab[4535]
#define __pyx_n_u_ppeerContext __pyx_string_tab[4536]
#define __pyx_n_u_ppeerDev __pyx_string_tab[4537]
#define __pyx_n_u_ppixelsPerColumn __pyx_string_tab[4538]
#define __pyx_n_u_ppool __pyx_string_tab[4539]
#define __pyx_n_u_pptr __pyx_string_tab[4540]
#define __pyx_n_u_preferredClusterDim_2 __pyx_string_tab[4541]
#define __pyx_n_u_preferredCoscheduledSmCount_2 __pyx_string_tab[4542]
#define __pyx_n_u_prefetchLocIdxs __pyx_string_tab[4543]
#define __pyx_n_u_prefetchLocs __pyx_string_tab[4544]
#define __pyx_n_u_prepare __pyx_string_tab[4545]
#define __pyx_n_u_presource __pyx_string_tab[4546]
#define __pyx_n_u_presources __pyx_string_tab[4547]
#define __pyx_n_u_priority_2 __pyx_string_tab[4548]
#define __pyx_n_u_programmaticEvent_2 __pyx_string_tab[4549]
#define __pyx_n_u_programmaticStreamSerializationA_2 __pyx_string_tab[4550]
#define __pyx_n_u_prop __pyx_string_tab[4551]
#define __pyx_n_u_psize __pyx_string_tab[4552]
#define __pyx_n_u_psrc __pyx_string_tab[4553]
#define __pyx_n_u_psrcArray __pyx_string_tab[4554]
#define __pyx_n_u_psrcContext __pyx_string_tab[4555]
#define __pyx_n_u_psrcDevice __pyx_string_tab[4556]
#define __pyx_n_u_pstate __pyx_string_tab[4557]
#define __pyx_n_u_pstream __pyx_string_tab[4558]
#define __pyx_n_u_psurfObject __pyx_string_tab[4559]
#define __pyx_n_u_ptarget __pyx_string_tab[4560]
#define __pyx_n_u_ptensorRank __pyx_string_tab[4561]
#define __pyx_n_u_ptexObject __pyx_string_tab[4562]
#define __pyx_n_u_ptr __pyx_string_tab[4563]
#define __pyx_n_u_ptr_2 __pyx_string_tab[4564]
#define __pyx_n_u_ptr_out __pyx_string_tab[4565]
#define __pyx_n_u_pvalue __pyx_string_tab[4566]
#define __pyx_n_u_pvdpDevice __pyx_string_tab[4567]
#define __pyx_n_u_pvdpGetProcAddress __pyx_string_tab[4568]
#define __pyx_n_u_pvdpSurface __pyx_string_tab[4569]
#define __pyx_n_u_pwidth __pyx_string_tab[4570]
#define __pyx_n_u_pyObj __pyx_string_tab[4571]
#define __pyx_n_u_pyattributes __pyx_string_tab[4572]
#define __pyx_n_u_pycapabilities __pyx_string_tab[4573]
#define __pyx_n_u_pydataSizes __pyx_string_tab[4574]
#define __pyx_n_u_pydependencies __pyx_string_tab[4575]
#define __pyx_n_u_pydependencies_out __pyx_string_tab[4576]
#define __pyx_n_u_pydependentNodes __pyx_string_tab[4577]
#define __pyx_n_u_pyedgeData __pyx_string_tab[4578]
#define __pyx_n_u_pyedgeData_out __pyx_string_tab[4579]
#define __pyx_n_u_pyfrom __pyx_string_tab[4580]
#define __pyx_n_u_pyfunctions __pyx_string_tab[4581]
#define __pyx_n_u_pyjitOptions __pyx_string_tab[4582]
#define __pyx_n_u_pykernels __pyx_string_tab[4583]
#define __pyx_n_u_pylibraryOptions __pyx_string_tab[4584]
#define __pyx_n_u_pylist __pyx_string_tab[4585]
#define __pyx_n_u_pyname __pyx_string_tab[4586]
#define __pyx_n_u_pynodes __pyx_string_tab[4587]
#define __pyx_n_u_pyoperations __pyx_string_tab[4588]
#define __pyx_n_u_pyoptionValues __pyx_string_tab[4589]
#define __pyx_n_u_pyoptions __pyx_string_tab[4590]
#define __pyx_n_u_pypCudaDevices __pyx_string_tab[4591]
#define __pyx_n_u_pypciBusId __pyx_string_tab[4592]
#define __pyx_n_u_pyresult __pyx_string_tab[4593]
#define __pyx_n_u_pyrootNodes __pyx_string_tab[4594]
#define __pyx_n_u_pyto __pyx_string_tab[4595]
#define __pyx_n_u_pyx_state __pyx_string_tab[4596]
#define __pyx_n_u_qualname __pyx_string_tab[4597]
#define __pyx_n_u_reduce __pyx_string_tab[4598]
#define __pyx_n_u_reduce_cython __pyx_string_tab[4599]
#define __pyx_n_u_reduce_ex __pyx_string_tab[4600]
#define __pyx_n_u_reductionOp_2 __pyx_string_tab[4601]
#define __pyx_n_u_regsPerBlock_2 __pyx_string_tab[4602]
#define __pyx_n_u_remainder __pyx_string_tab[4603]
#define __pyx_n_u_remote_2 __pyx_string_tab[4604]
#define __pyx_n_u_requestedHandleTypes_2 __pyx_string_tab[4605]
#define __pyx_n_u_resType_2 __pyx_string_tab[4606]
#define __pyx_n_u_res_2 __pyx_string_tab[4607]
#define __pyx_n_u_reserved0_2 __pyx_string_tab[4608]
#define __pyx_n_u_reserved1_2 __pyx_string_tab[4609]
#define __pyx_n_u_reserved2_2 __pyx_string_tab[4610]
#define __pyx_n_u_reserved_2 __pyx_string_tab[4611]
#define __pyx_n_u_resourceType_2 __pyx_string_tab[4612]
#define __pyx_n_u_resource_2 __pyx_string_tab[4613]
#define __pyx_n_u_resources __pyx_string_tab[4614]
#define __pyx_n_u_resultInfo __pyx_string_tab[4615]
#define __pyx_n_u_result_2 __pyx_string_tab[4616]
#define __pyx_n_u_result_out_2 __pyx_string_tab[4617]
#define __pyx_n_u_rowLength_2 __pyx_string_tab[4618]
#define __pyx_n_u_scope __pyx_string_tab[4619]
#define __pyx_n_u_self __pyx_string_tab[4620]
#define __pyx_n_u_semHandleDesc __pyx_string_tab[4621]
#define __pyx_n_u_send __pyx_string_tab[4622]
#define __pyx_n_u_set_name __pyx_string_tab[4623]
#define __pyx_n_u_setdefault __pyx_string_tab[4624]
#define __pyx_n_u_setstate __pyx_string_tab[4625]
#define __pyx_n_u_setstate_cython __pyx_string_tab[4626]
#define __pyx_n_u_shHandleType __pyx_string_tab[4627]
#define __pyx_n_u_shareData __pyx_string_tab[4628]
#define __pyx_n_u_shareData_out __pyx_string_tab[4629]
#define __pyx_n_u_sharedDataType_2 __pyx_string_tab[4630]
#define __pyx_n_u_sharedData_2 __pyx_string_tab[4631]
#define __pyx_n_u_sharedMemBytes_2 __pyx_string_tab[4632]
#define __pyx_n_u_sharedMemCarveout_2 __pyx_string_tab[4633]
#define __pyx_n_u_sharedMemPerBlock_2 __pyx_string_tab[4634]
#define __pyx_n_u_sharingScope_2 __pyx_string_tab[4635]
#define __pyx_n_u_sizeInBytes_2 __pyx_string_tab[4636]
#define __pyx_n_u_sizeOut __pyx_string_tab[4637]
#define __pyx_n_u_size_2 __pyx_string_tab[4638]
#define __pyx_n_u_sizeof __pyx_string_tab[4639]
#define __pyx_n_u_sizes __pyx_string_tab[4640]
#define __pyx_n_u_smCoscheduledAlignment_2 __pyx_string_tab[4641]
#define __pyx_n_u_smCount_2 __pyx_string_tab[4642]
#define __pyx_n_u_sm_2 __pyx_string_tab[4643]
#define __pyx_n_u_sparseLevel_2 __pyx_string_tab[4644]
#define __pyx_n_u_sparseProperties __pyx_string_tab[4645]
#define __pyx_n_u_srcAccessOrder_2 __pyx_string_tab[4646]
#define __pyx_n_u_srcArray_2 __pyx_string_tab[4647]
#define __pyx_n_u_srcContext_2 __pyx_string_tab[4648]
#define __pyx_n_u_srcDevice_2 __pyx_string_tab[4649]
#define __pyx_n_u_srcHeight_2 __pyx_string_tab[4650]
#define __pyx_n_u_srcHost_2 __pyx_string_tab[4651]
#define __pyx_n_u_srcLOD_2 __pyx_string_tab[4652]
#define __pyx_n_u_srcLocHint_2 __pyx_string_tab[4653]
#define __pyx_n_u_srcMemoryType_2 __pyx_string_tab[4654]
#define __pyx_n_u_srcNumBytes_2 __pyx_string_tab[4655]
#define __pyx_n_u_srcOffset __pyx_string_tab[4656]
#define __pyx_n_u_srcPitch_2 __pyx_string_tab[4657]
#define __pyx_n_u_srcXInBytes_2 __pyx_string_tab[4658]
#define __pyx_n_u_srcY_2 __pyx_string_tab[4659]
#define __pyx_n_u_srcZ_2 __pyx_string_tab[4660]
#define __pyx_n_u_src_2 __pyx_string_tab[4661]
#define __pyx_n_u_srcs __pyx_string_tab[4662]
#define __pyx_n_u_state __pyx_string_tab[4663]
#define __pyx_n_u_stateOut __pyx_string_tab[4664]
#define __pyx_n_u_stream __pyx_string_tab[4665]
#define __pyx_n_u_streamId __pyx_string_tab[4666]
#define __pyx_n_u_subresourceType_2 __pyx_string_tab[4667]
#define __pyx_n_u_subresource_2 __pyx_string_tab[4668]
#define __pyx_n_u_supported_types __pyx_string_tab[4669]
#define __pyx_n_u_surfObject __pyx_string_tab[4670]
#define __pyx_n_u_swizzle __pyx_string_tab[4671]
#define __pyx_n_u_symbol __pyx_string_tab[4672]
#define __pyx_n_u_symbolStatus __pyx_string_tab[4673]
#define __pyx_n_u_syncPolicy_2 __pyx_string_tab[4674]
#define __pyx_n_u_t __pyx_string_tab[4675]
#define __pyx_n_u_target __pyx_string_tab[4676]
#define __pyx_n_u_tensorDataType __pyx_string_tab[4677]
#define __pyx_n_u_tensorMap __pyx_string_tab[4678]
#define __pyx_n_u_tensorRank __pyx_string_tab[4679]
#define __pyx_n_u_test __pyx_string_tab[4680]
#define __pyx_n_u_texObject __pyx_string_tab[4681]
#define __pyx_n_u_textureAlign_2 __pyx_string_tab[4682]
#define __pyx_n_u_texunit __pyx_string_tab[4683]
#define __pyx_n_u_throw __pyx_string_tab[4684]
#define __pyx_n_u_tid __pyx_string_tab[4685]
#define __pyx_n_u_tileExtent_2 __pyx_string_tab[4686]
#define __pyx_n_u_timeout __pyx_string_tab[4687]
#define __pyx_n_u_timeoutMs_2 __pyx_string_tab[4688]
#define __pyx_n_u_to __pyx_string_tab[4689]
#define __pyx_n_u_to_port_2 __pyx_string_tab[4690]
#define __pyx_n_u_toolsNodeId __pyx_string_tab[4691]
#define __pyx_n_u_total __pyx_string_tab[4692]
#define __pyx_n_u_totalConstantMemory_2 __pyx_string_tab[4693]
#define __pyx_n_u_triggerAtBlockStart_2 __pyx_string_tab[4694]
#define __pyx_n_u_type_2 __pyx_string_tab[4695]
#define __pyx_n_u_typename __pyx_string_tab[4696]
#define __pyx_n_u_typing __pyx_string_tab[4697]
#define __pyx_n_u_uc __pyx_string_tab[4698]
#define __pyx_n_u_ui __pyx_string_tab[4699]
#define __pyx_n_u_us __pyx_string_tab[4700]
#define __pyx_n_u_usage_2 __pyx_string_tab[4701]
#define __pyx_n_u_userData_2 __pyx_string_tab[4702]
#define __pyx_n_u_uuid __pyx_string_tab[4703]
#define __pyx_n_u_v __pyx_string_tab[4704]
#define __pyx_n_u_vaSpaceToken_2 __pyx_string_tab[4705]
#define __pyx_n_u_val_2 __pyx_string_tab[4706]
#define __pyx_n_u_value __pyx_string_tab[4707]
#define __pyx_n_u_value64_2 __pyx_string_tab[4708]
#define __pyx_n_u_value_out __pyx_string_tab[4709]
#define __pyx_n_u_values __pyx_string_tab[4710]
#define __pyx_n_u_vdpDevice __pyx_string_tab[4711]
#define __pyx_n_u_vdpGetProcAddress __pyx_string_tab[4712]
#define __pyx_n_u_vdpSurface __pyx_string_tab[4713]
#define __pyx_n_u_version __pyx_string_tab[4714]
#define __pyx_n_u_voidStarHelperdata __pyx_string_tab[4715]
#define __pyx_n_u_voidStarHelperjitOptionsValues __pyx_string_tab[4716]
#define __pyx_n_u_voidStarHelperlibraryOptionValue __pyx_string_tab[4717]
#define __pyx_n_u_voidStarHelperoptionValues __pyx_string_tab[4718]
#define __pyx_n_u_waitValue_2 __pyx_string_tab[4719]
#define __pyx_n_u_width_2 __pyx_string_tab[4720]
#define __pyx_n_u_win32HandleMetaData_2 __pyx_string_tab[4721]
#define __pyx_n_u_win32SecurityAttributes_2 __pyx_string_tab[4722]
#define __pyx_n_u_win32_2 __pyx_string_tab[4723]
#define __pyx_n_u_wqConcurrencyLimit_2 __pyx_string_tab[4724]
#define __pyx_n_u_wqConfig_2 __pyx_string_tab[4725]
#define __pyx_n_u_wq_2 __pyx_string_tab[4726]
#define __pyx_n_u_writeValue_2 __pyx_string_tab[4727]
#define __pyx_n_u_x __pyx_string_tab[4728]
#define __pyx_n_u_x_3 __pyx_string_tab[4729]
#define __pyx_n_u_y_2 __pyx_string_tab[4730]
#define __pyx_n_u_z_2 __pyx_string_tab[4731]
#define __pyx_n_u_zip __pyx_string_tab[4732]
#define __pyx_kp_b_CUresult_CUDA_ARRAY3D_DESCRIPTOR __pyx_string_tab[4733]
#define __pyx_kp_b__5 __pyx_string_tab[4734]
#define __pyx_kp_b_iso88591_01R_uCq_1G1_1A_1Jaq_A_1_1_G7R_3 __pyx_string_tab[4735]
#define __pyx_kp_b_iso88591_01_uCq_1G1_1A_1L_Ja_t1_H_sR_WJg __pyx_string_tab[4736]
#define __pyx_kp_b_iso88591_01_vS_1HA_AQ_AZq_Q_2_Q_N_1 __pyx_string_tab[4737]
#define __pyx_kp_b_iso88591_01r_uCq_1G1_1A_1L_Ja_t1_H_wV_a __pyx_string_tab[4738]
#define __pyx_kp_b_iso88591_0B_t3a_q_1F_s_1_s_aq_A_Gq_SVV_a __pyx_string_tab[4739]
#define __pyx_kp_b_iso88591_0H_6_c_1_iq_wc_1IQ_Qa_QgQa_1_a __pyx_string_tab[4740]
#define __pyx_kp_b_iso88591_0_9_M_gU___1_q_N_1 __pyx_string_tab[4741]
#define __pyx_kp_b_iso88591_0_HA_oQ_t_a_avQ_N_6 __pyx_string_tab[4742]
#define __pyx_kp_b_iso88591_0_K1_G_V1_2_3_aallm_t_a_avQ_N_6 __pyx_string_tab[4743]
#define __pyx_kp_b_iso88591_0_Q_a_1M_c_c_Qa_1_q_aq_t_a_avQ __pyx_string_tab[4744]
#define __pyx_kp_b_iso88591_0_Q_a_1M_c_c_aq_A_9_2_3QQYYdde __pyx_string_tab[4745]
#define __pyx_kp_b_iso88591_0_Qa_Q_1_N_1 __pyx_string_tab[4746]
#define __pyx_kp_b_iso88591_0_U_A_oQiq_t_a_avQ_N_6_S __pyx_string_tab[4747]
#define __pyx_kp_b_iso88591_0_U_A_q_t_a_avQ_N_6_S __pyx_string_tab[4748]
#define __pyx_kp_b_iso88591_0_t3a_q_1F_s_1_s_81A_q_1_q_1_t __pyx_string_tab[4749]
#define __pyx_kp_b_iso88591_0_t3a_q_1F_s_1_s_81A_q_Q_0_1I_Q __pyx_string_tab[4750]
#define __pyx_kp_b_iso88591_0_t3a_q_1F_s_1_s_81A_z_t3a_q_1F __pyx_string_tab[4751]
#define __pyx_kp_b_iso88591_0_uCq_1G1_1A_1HAQ_oQa_N_1 __pyx_string_tab[4752]
#define __pyx_kp_b_iso88591_0_vS_1HA_AQ_A_Ja_7_4AY_QQXXY_t __pyx_string_tab[4753]
#define __pyx_kp_b_iso88591_0_wc_1IQ_Qa_Q_aq_A_aq_N_1 __pyx_string_tab[4754]
#define __pyx_kp_b_iso88591_0_wc_1IQ_Qa_QgQa_1_m1Jaq_t_a_av __pyx_string_tab[4755]
#define __pyx_kp_b_iso88591_0_wc_1IQ_Qa_Qhaq_A_1_t_a_t_a_av __pyx_string_tab[4756]
#define __pyx_kp_b_iso88591_0_xs_1_1Ja_3aq_3axq_Q_4E_fGS_N __pyx_string_tab[4757]
#define __pyx_kp_b_iso88591_0_z_A_Q_1L_S_S_AQ_7q_0_1NhVaab __pyx_string_tab[4758]
#define __pyx_kp_b_iso88591_0_z_A_Q_1L_S_S_AQ_9_1_2PPXXccd __pyx_string_tab[4759]
#define __pyx_kp_b_iso88591_1 __pyx_string_tab[4760]
#define __pyx_kp_b_iso88591_12J_xs_1_1Ja_3aq_3axq_Q_V7_Zq_i __pyx_string_tab[4761]
#define __pyx_kp_b_iso88591_12_4A_GGZZgg_C_C_M_M_N_Q_J_Q_ww __pyx_string_tab[4762]
#define __pyx_kp_b_iso88591_12_vS_1HA_AQ_A_Ja_JmS_eeoop_q_N __pyx_string_tab[4763]
#define __pyx_kp_b_iso88591_12_xs_1_1Ja_3aq_3axq_Q_r_A_N_1 __pyx_string_tab[4764]
#define __pyx_kp_b_iso88591_12l_uCq_1G1_1A_1Kq_Q_6_c_1_iq_w __pyx_string_tab[4765]
#define __pyx_kp_b_iso88591_1A_A_B_h_wc_1IQ_Qa_Qhaq_A_Cz_iq __pyx_string_tab[4766]
#define __pyx_kp_b_iso88591_1H_H_I_p_6_c_1_iq_wc_1IQ_Qa_QgQ __pyx_string_tab[4767]
#define __pyx_kp_b_iso88591_1H_H_I_t3a_q_1F_s_1_s_9AQ_6_c_1 __pyx_string_tab[4768]
#define __pyx_kp_b_iso88591_1J_J_K_L_t3a_q_1F_s_1_s_9AQ_6_c __pyx_string_tab[4769]
#define __pyx_kp_b_iso88591_1_2 __pyx_string_tab[4770]
#define __pyx_kp_b_iso88591_1_3 __pyx_string_tab[4771]
#define __pyx_kp_b_iso88591_1_4 __pyx_string_tab[4772]
#define __pyx_kp_b_iso88591_1_AU_1_t_a_avQ_N_6 __pyx_string_tab[4773]
#define __pyx_kp_b_iso88591_1_O_bbllm_q_a_a_t_a_avQ_N_6 __pyx_string_tab[4774]
#define __pyx_kp_b_iso88591_1_a_D_t_a_avQ_N_6 __pyx_string_tab[4775]
#define __pyx_kp_b_iso88591_1_a_D_t_a_avQ_N_6_2 __pyx_string_tab[4776]
#define __pyx_kp_b_iso88591_1_l_8_Kq_t_a_avQ_N_6 __pyx_string_tab[4777]
#define __pyx_kp_b_iso88591_1ddeR_fA_E_1_A_N_1 __pyx_string_tab[4778]
#define __pyx_kp_b_iso88591_232_uCq_1G1_1A_1IQa_1_q_1_83LHT __pyx_string_tab[4779]
#define __pyx_kp_b_iso88591_232_xs_1_1Ja_3aq_3axq_Q_a_8_1Kx __pyx_string_tab[4780]
#define __pyx_kp_b_iso88591_23P_xs_1_1Ja_3aq_3axq_Q_t1_1Kq __pyx_string_tab[4781]
#define __pyx_kp_b_iso88591_23V_z_A_Q_1L_S_S_Q_z_A_Q_1L_S_S __pyx_string_tab[4782]
#define __pyx_kp_b_iso88591_23_4_EQXXbbc_4AU_N_1 __pyx_string_tab[4783]
#define __pyx_kp_b_iso88591_23d_vS_1HA_AQ_AZq_Q_1IQ_N_1 __pyx_string_tab[4784]
#define __pyx_kp_b_iso88591_2J_4_xs_1_1Ja_3aq_3axq_Q_a_35_V __pyx_string_tab[4785]
#define __pyx_kp_b_iso88591_2_2_1_K_Xccd_t_a_avQ_N_6 __pyx_string_tab[4786]
#define __pyx_kp_b_iso88591_2_5_t_a_avQ_N_6_q __pyx_string_tab[4787]
#define __pyx_kp_b_iso88591_2_81_WJgQ_q_F_Q_t_a_avQ_N_6 __pyx_string_tab[4788]
#define __pyx_kp_b_iso88591_2_A_A_Kq_t_a_avQ_N_6 __pyx_string_tab[4789]
#define __pyx_kp_b_iso88591_2_N_1 __pyx_string_tab[4790]
#define __pyx_kp_b_iso88591_2_t3a_q_1F_s_1_s_81A_q_0_a_1AT __pyx_string_tab[4791]
#define __pyx_kp_b_iso88591_2_t3a_q_1F_s_1_s_81A_q_vQ_a_9_t __pyx_string_tab[4792]
#define __pyx_kp_b_iso88591_2_t3a_q_1F_s_1_s_9AQ_81_V_a_t_a __pyx_string_tab[4793]
#define __pyx_kp_b_iso88591_2_t3a_q_1F_s_1_s_aq_A_q_q_N_1 __pyx_string_tab[4794]
#define __pyx_kp_b_iso88591_2_t3a_q_1F_s_1_s_aq_A_t3a_q_1F __pyx_string_tab[4795]
#define __pyx_kp_b_iso88591_2_vS_1HA_AQ_AXQa_1_A_aq_a_t_a_a __pyx_string_tab[4796]
#define __pyx_kp_b_iso88591_2_vS_1HA_AQ_AZq_Q_A_nAQfA_t_a_a __pyx_string_tab[4797]
#define __pyx_kp_b_iso88591_2_vS_1HA_AQ_A_Ja_N_1 __pyx_string_tab[4798]
#define __pyx_kp_b_iso88591_2_vS_1HA_AQ_A_Ja_q_AYaq_t_a_avQ __pyx_string_tab[4799]
#define __pyx_kp_b_iso88591_2_wc_1IQ_Qa_Qhaq_A_Ja_A_kQR_t_a __pyx_string_tab[4800]
#define __pyx_kp_b_iso88591_2_xs_1_1Ja_3aq_3a_1A_z_2_yPWWaa __pyx_string_tab[4801]
#define __pyx_kp_b_iso88591_2_xs_1_1Ja_3aq_3axq_Q_q_q_t_a_a __pyx_string_tab[4802]
#define __pyx_kp_b_iso88591_2_xs_1_1Ja_3aq_3ay_Ja_d_Q_t_a_a __pyx_string_tab[4803]
#define __pyx_kp_b_iso88591_2_y_1_A_1Kq_Cq_Cq_1_j_31A_N_1 __pyx_string_tab[4804]
#define __pyx_kp_b_iso88591_2_y_1_A_1Kq_Cq_Cq_Qa_1_1_wc_1IQ __pyx_string_tab[4805]
#define __pyx_kp_b_iso88591_2_z_A_Q_1L_S_S_AQ_00Gq_5Q6YYeep __pyx_string_tab[4806]
#define __pyx_kp_b_iso88591_2_z_A_Q_1L_S_S_AQ_k_t1_N_1 __pyx_string_tab[4807]
#define __pyx_kp_b_iso88591_34L_1_a_FaxsR_WJgQ_we1_31Jm1A_t __pyx_string_tab[4808]
#define __pyx_kp_b_iso88591_34L_vS_1HA_AQ_AWAQ_6_c_1_iq_wc __pyx_string_tab[4809]
#define __pyx_kp_b_iso88591_34N_t3a_q_1F_s_1_s_81A_q_Zq_iq __pyx_string_tab[4810]
#define __pyx_kp_b_iso88591_34_vS_1HA_AQ_A_Ja_4Jm_V_ggh_1_1 __pyx_string_tab[4811]
#define __pyx_kp_b_iso88591_34_vS_1HA_AQ_A_Ja_j_U_ggqqr_1_1 __pyx_string_tab[4812]
#define __pyx_kp_b_iso88591_34d_1_a_FaxwV_a_WJgQ_we1_31Jm1A __pyx_string_tab[4813]
#define __pyx_kp_b_iso88591_3C_C_D_V_wc_1IQ_Qa_Qhaq_A_Cz_iq __pyx_string_tab[4814]
#define __pyx_kp_b_iso88591_3J_J_K_X_6_c_1_iq_wc_1IQ_Qa_QgQ __pyx_string_tab[4815]
#define __pyx_kp_b_iso88591_456_xs_1Ja_7_1Ja_iq_vvxx_A_A_B __pyx_string_tab[4816]
#define __pyx_kp_b_iso88591_45N_Q_a_1M_c_c_Zq_6_c_1_iq_wc_1 __pyx_string_tab[4817]
#define __pyx_kp_b_iso88591_4_3a_q_1N_s_1_s_9AQ_Qa_N_1 __pyx_string_tab[4818]
#define __pyx_kp_b_iso88591_4_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O __pyx_string_tab[4819]
#define __pyx_kp_b_iso88591_4_Kq_k_9_t_a_avQ_N_6 __pyx_string_tab[4820]
#define __pyx_kp_b_iso88591_4_Q_a_1M_c_c_Qa_1_Ja_9OuTU_t_a __pyx_string_tab[4821]
#define __pyx_kp_b_iso88591_4_t3a_q_1F_s_1_s_81A_q_q_avQ_a __pyx_string_tab[4822]
#define __pyx_kp_b_iso88591_4_t3a_q_1F_s_1_s_9AQ_A_k_t_a_av __pyx_string_tab[4823]
#define __pyx_kp_b_iso88591_4_t3a_q_1F_s_1_s_aq_A_00Fa_Q_PP __pyx_string_tab[4824]
#define __pyx_kp_b_iso88591_4_vS_1HA_AQ_AZq_Q_oQiq_N_1 __pyx_string_tab[4825]
#define __pyx_kp_b_iso88591_4_vS_1HA_AQ_A_Ja_11K1_31I_ccmmn __pyx_string_tab[4826]
#define __pyx_kp_b_iso88591_4_wc_1IQ_Qa_QgQa_1_1JfA_N_1 __pyx_string_tab[4827]
#define __pyx_kp_b_iso88591_4_wc_1IQ_Qa_QgQa_1_22Gq_1_MM_hh __pyx_string_tab[4828]
#define __pyx_kp_b_iso88591_4_wc_1IQ_Qa_Ql_1_j_1_1_2SSWWbbc __pyx_string_tab[4829]
#define __pyx_kp_b_iso88591_4_xs_1_1Ja_3aq_3axq_Q_1_N_1 __pyx_string_tab[4830]
#define __pyx_kp_b_iso88591_4_xs_1_1Ja_3aq_3axq_Q_2_1E_t_a __pyx_string_tab[4831]
#define __pyx_kp_b_iso88591_4_xs_1_1Ja_3aq_3axq_Q_AQe1_t_a __pyx_string_tab[4832]
#define __pyx_kp_b_iso88591_4_xs_1_1Ja_3aq_3axq_Q_q_A_t_a_a __pyx_string_tab[4833]
#define __pyx_kp_b_iso88591_4_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1 __pyx_string_tab[4834]
#define __pyx_kp_b_iso88591_4_z_A_Q_1L_S_S_AQ_l_A_N_1 __pyx_string_tab[4835]
#define __pyx_kp_b_iso88591_4wwxd_6_c_1_fHCz_iq_Cq_A5K2SPQQ __pyx_string_tab[4836]
#define __pyx_kp_b_iso88591_56H_vS_1HA_AQ_AWAQ_6_c_1_iq_wc __pyx_string_tab[4837]
#define __pyx_kp_b_iso88591_56x_t3a_q_1F_s_1_s_81A_q_wc_1IQ __pyx_string_tab[4838]
#define __pyx_kp_b_iso88591_5E_fGS_oQa_N_1 __pyx_string_tab[4839]
#define __pyx_kp_b_iso88591_5L_L_M_N_6_c_1_iq_wc_1IQ_Qa_QgQ __pyx_string_tab[4840]
#define __pyx_kp_b_iso88591_5WKwNjjkkttuuv __pyx_string_tab[4841]
#define __pyx_kp_b_iso88591_5q_r_r_r_k_k_l_l_r_r_G_G_r_r_s __pyx_string_tab[4842]
#define __pyx_kp_b_iso88591_67L_t3a_q_1F_s_1_s_aq_A_H_T_eef __pyx_string_tab[4843]
#define __pyx_kp_b_iso88591_67R_uCq_1G1_1A_1Jaq_A_1_1_G7R_9 __pyx_string_tab[4844]
#define __pyx_kp_b_iso88591_67_0t1_8_t_a_avQ_N_6_4AQ __pyx_string_tab[4845]
#define __pyx_kp_b_iso88591_67r_vS_1HA_AQ_AZq_Q_F_q_N_1 __pyx_string_tab[4846]
#define __pyx_kp_b_iso88591_6T_e7R_auA_N_1 __pyx_string_tab[4847]
#define __pyx_kp_b_iso88591_6_2_zQXXbbc_WJoQ_0_1B_N_1 __pyx_string_tab[4848]
#define __pyx_kp_b_iso88591_6_q_Qa_Q_t_a_avQ_N_6 __pyx_string_tab[4849]
#define __pyx_kp_b_iso88591_6_t3a_q_1F_s_1_s_81A_q_B_kQR_t __pyx_string_tab[4850]
#define __pyx_kp_b_iso88591_6_t3a_q_1F_s_1_s_81A_q_a_a_1_t __pyx_string_tab[4851]
#define __pyx_kp_b_iso88591_6_t3a_q_1F_s_1_s_9AQ_Q_a_1_S_Q __pyx_string_tab[4852]
#define __pyx_kp_b_iso88591_6_t3a_q_1F_s_1_s_9AQ_q_N_1 __pyx_string_tab[4853]
#define __pyx_kp_b_iso88591_6_vS_1HA_AQ_AZq_Q_9A_N_1 __pyx_string_tab[4854]
#define __pyx_kp_b_iso88591_6_vS_1HA_AQ_AZq_Q_a_4_t_a_avQ_N __pyx_string_tab[4855]
#define __pyx_kp_b_iso88591_6_wc_1IQ_Qa_QgQa_1_oQa_N_1 __pyx_string_tab[4856]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_7_q_7_Q_t __pyx_string_tab[4857]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_A_kQR_t_a __pyx_string_tab[4858]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c __pyx_string_tab[4859]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_aq_N_1 __pyx_string_tab[4860]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_nAQ_N_1 __pyx_string_tab[4861]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_q_1_7_t_a __pyx_string_tab[4862]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_vS_1HA_AQ __pyx_string_tab[4863]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L __pyx_string_tab[4864]
#define __pyx_kp_b_iso88591_6_xs_1_1Ja_3aq_3ay_Ja_HA_g_P_t __pyx_string_tab[4865]
#define __pyx_kp_b_iso88591_6_y_1_A_1Kq_Cq_Cq_1_j_a_1A_t_a __pyx_string_tab[4866]
#define __pyx_kp_b_iso88591_6_y_1_A_1Kq_Cq_Cq_Zq_7_G_a_t_a __pyx_string_tab[4867]
#define __pyx_kp_b_iso88591_6_z_A_Q_1L_S_S_AQ_1A_wj_m1M_N_1 __pyx_string_tab[4868]
#define __pyx_kp_b_iso88591_6_z_A_Q_1L_S_S_AQ_1A_wj_m1O_N_1 __pyx_string_tab[4869]
#define __pyx_kp_b_iso88591_6_z_A_Q_1L_S_S_AQ_z_A_Q_1L_S_S __pyx_string_tab[4870]
#define __pyx_kp_b_iso88591_6r_s_s_s_y_y_q_q_G_G_M_M_w_w_b __pyx_string_tab[4871]
#define __pyx_kp_b_iso88591_782_uCq_1G1_1A_1Jaq_A_q_1_q_8QQ __pyx_string_tab[4872]
#define __pyx_kp_b_iso88591_782_vS_1HA_AQ_A_Ja_DJm_ffmmwwx __pyx_string_tab[4873]
#define __pyx_kp_b_iso88591_788_wc_1IQ_Qa_Qhaq_q_1_Qj8QQYYd __pyx_string_tab[4874]
#define __pyx_kp_b_iso88591_78_t3a_q_1F_s_1_s_81A_q_2_5Qat __pyx_string_tab[4875]
#define __pyx_kp_b_iso88591_78_xs_1_1Ja_3aq_3axq_Q_r_2_a_N __pyx_string_tab[4876]
#define __pyx_kp_b_iso88591_7BXXYYbbccd __pyx_string_tab[4877]
#define __pyx_kp_b_iso88591_7_N_N___D_4Cz_V_Zq_iq_v_c_1_Zq __pyx_string_tab[4878]
#define __pyx_kp_b_iso88591_7_WD_eeffg __pyx_string_tab[4879]
#define __pyx_kp_b_iso88591_7_WTsstt __pyx_string_tab[4880]
#define __pyx_kp_b_iso88591_7_W_OqPYYZZ __pyx_string_tab[4881]
#define __pyx_kp_b_iso88591_7_nA_8_t_a_avQ_N_6 __pyx_string_tab[4882]
#define __pyx_kp_b_iso88591_7wk_Pmmnnwwxxy __pyx_string_tab[4883]
#define __pyx_kp_b_iso88591_81_AQ_z_1_A_A_RS_t_a_avQ_N_6 __pyx_string_tab[4884]
#define __pyx_kp_b_iso88591_81_l_7v_t_a_avQ_N_6 __pyx_string_tab[4885]
#define __pyx_kp_b_iso88591_81_m1_8_k_t_a_avQ_N_6 __pyx_string_tab[4886]
#define __pyx_kp_b_iso88591_81_oQ_t_a_avQ_N_6 __pyx_string_tab[4887]
#define __pyx_kp_b_iso88591_89_xs_1_1Ja_3aq_3axq_Q_q_1_Qk9R __pyx_string_tab[4888]
#define __pyx_kp_b_iso88591_8ZZ_z_wc_1IQ_Qa_Qk_Zq_l_WJhiqPQ __pyx_string_tab[4889]
#define __pyx_kp_b_iso88591_8_t3a_q_1F_s_1_s_81A_q_U_A_a_av __pyx_string_tab[4890]
#define __pyx_kp_b_iso88591_8_t3a_q_1F_s_1_s_9AQ_l_1_N_1 __pyx_string_tab[4891]
#define __pyx_kp_b_iso88591_8_uCq_1G1_1A_1HAQ_Ja_A_kQYYZ_t __pyx_string_tab[4892]
#define __pyx_kp_b_iso88591_8_uCq_1G1_1A_1Kq_Q_1_C5_STT_t_a __pyx_string_tab[4893]
#define __pyx_kp_b_iso88591_8_vS_1HA_AQ_A_Ja_7_4AY_QQXXY_t __pyx_string_tab[4894]
#define __pyx_kp_b_iso88591_8_vS_1HA_AQ_A_Ja_88UUV_5Qi_hhvv __pyx_string_tab[4895]
#define __pyx_kp_b_iso88591_8_vS_1HA_AQ_A_Ja_8_Zaakkl_1IQ_N __pyx_string_tab[4896]
#define __pyx_kp_b_iso88591_8_wc_1IQ_Qa_Ql_1_j_A_N_1 __pyx_string_tab[4897]
#define __pyx_kp_b_iso88591_8_xs_1_1Ja_3aq_3axq_Q_Q_0_1MM_h __pyx_string_tab[4898]
#define __pyx_kp_b_iso88591_8_xs_1_1Ja_3aq_3axq_Q_a_q_1A_t __pyx_string_tab[4899]
#define __pyx_kp_b_iso88591_8_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L __pyx_string_tab[4900]
#define __pyx_kp_b_iso88591_8t_WT___0_a_N_1 __pyx_string_tab[4901]
#define __pyx_kp_b_iso88591_9UUV2_vS_1HA_AQ_A_Ja_d_7uM_wV_a __pyx_string_tab[4902]
#define __pyx_kp_b_iso88591_9_2_vS_1HA_AQ_A_Ja_d_4AYhFggppq __pyx_string_tab[4903]
#define __pyx_kp_b_iso88591_9_7Rppqqzz __pyx_string_tab[4904]
#define __pyx_kp_b_iso88591_9_N_wc_1IQ_Qa_Qhaq_0_A_J_6QTT __pyx_string_tab[4905]
#define __pyx_kp_b_iso88591_9_f_wc_1IQ_Qa_Q_aq_A_k_GzQ_iipp __pyx_string_tab[4906]
#define __pyx_kp_b_iso88591_9_wc_1IQ_Qa_Qhaq_0_A_J_6QXXbbc __pyx_string_tab[4907]
#define __pyx_kp_b_iso88591_9ttuR_A_q_S_G5_y_1_F_Q_9Cq_Q_J __pyx_string_tab[4908]
#define __pyx_kp_b_iso88591_A __pyx_string_tab[4909]
#define __pyx_kp_b_iso88591_ABH_xs_1_1Ja_3aq_3axq_Q_wc_1IQ __pyx_string_tab[4910]
#define __pyx_kp_b_iso88591_ABJ_uCq_1G1_1A_1L_Ja_99YYZZ_q_Q __pyx_string_tab[4911]
#define __pyx_kp_b_iso88591_ABT_wc_1IQ_Qa_Qk_Zq_K1KWX_G_V1 __pyx_string_tab[4912]
#define __pyx_kp_b_iso88591_AB_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa __pyx_string_tab[4913]
#define __pyx_kp_b_iso88591_ABr_wc_1IQ_Qa_Q_aq_A_31_PPZZggr __pyx_string_tab[4914]
#define __pyx_kp_b_iso88591_AH_A_q_S_G5_y_1_F_Q_9Cq_Q_J_CqP __pyx_string_tab[4915]
#define __pyx_kp_b_iso88591_AT_Zq_iq_wc_1IQ_Qa_Qhaq_A_vRs_l __pyx_string_tab[4916]
#define __pyx_kp_b_iso88591_A_2 __pyx_string_tab[4917]
#define __pyx_kp_b_iso88591_A_3 __pyx_string_tab[4918]
#define __pyx_kp_b_iso88591_A_4w_Q_4q_q_1D_auD_uAS_PQQR_1_WA __pyx_string_tab[4919]
#define __pyx_kp_b_iso88591_A_C1_4q_C1_4q_C1_T_C1_4q_C1_4q_1 __pyx_string_tab[4920]
#define __pyx_kp_b_iso88591_A_D_D_f_f_g_f_V_Zq_iq_6_c_1_iq __pyx_string_tab[4921]
#define __pyx_kp_b_iso88591_A_X_X_Y_H_6_c_1_iq_wc_1IQ_Qa_Qg __pyx_string_tab[4922]
#define __pyx_kp_b_iso88591_A_k_Yaq __pyx_string_tab[4923]
#define __pyx_kp_b_iso88591_A_t1 __pyx_string_tab[4924]
#define __pyx_kp_b_iso88591_A_t_s_4w_1_4q_Q_4q_1_WAT __pyx_string_tab[4925]
#define __pyx_kp_b_iso88591_A_t_s_4w_1_4q_Q_4q_Q_4q_Q_T_Q_4q __pyx_string_tab[4926]
#define __pyx_kp_b_iso88591_A_t_s_4w_A_4q_1_WAT __pyx_string_tab[4927]
#define __pyx_kp_b_iso88591_A_t_s_4y_A_4q_a_4q_1_WAT __pyx_string_tab[4928]
#define __pyx_kp_b_iso88591_A_z_Q __pyx_string_tab[4929]
#define __pyx_kp_b_iso88591_A_z_iq __pyx_string_tab[4930]
#define __pyx_kp_b_iso88591_A_z_iq_2 __pyx_string_tab[4931]
#define __pyx_kp_b_iso88591_A_z_iq_Q __pyx_string_tab[4932]
#define __pyx_kp_b_iso88591_A_z_iq_a __pyx_string_tab[4933]
#define __pyx_kp_b_iso88591_A_z_iq_a_2 __pyx_string_tab[4934]
#define __pyx_kp_b_iso88591_A_z_iq_q __pyx_string_tab[4935]
#define __pyx_kp_b_iso88591_B_A_Q_1_gQ_Q_1_Q_iq_J_J_L_L_O_O __pyx_string_tab[4936]
#define __pyx_kp_b_iso88591_B_B_C_T_V_Zq_iq_6_c_1_iq_xs_1_1 __pyx_string_tab[4937]
#define __pyx_kp_b_iso88591_B_E_E_F_6_c_1_fHCz_iq_81_WJgQ_C __pyx_string_tab[4938]
#define __pyx_kp_b_iso88591_B_Q_a_1M_c_c_1A_z_z_A_Q_1L_S_S __pyx_string_tab[4939]
#define __pyx_kp_b_iso88591_B_S_1_A_AQ_AWAQ_q_m1_7_a_t_a_av __pyx_string_tab[4940]
#define __pyx_kp_b_iso88591_B_t3a_q_1F_s_1_s_81A_z_A_Cq_F_s __pyx_string_tab[4941]
#define __pyx_kp_b_iso88591_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja __pyx_string_tab[4942]
#define __pyx_kp_b_iso88591_B_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_2 __pyx_string_tab[4943]
#define __pyx_kp_b_iso88591_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1 __pyx_string_tab[4944]
#define __pyx_kp_b_iso88591_B_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1_2 __pyx_string_tab[4945]
#define __pyx_kp_b_iso88591_B_wc_1IQ_Qa_Qhaq_vS_1HA_AQ_AWAQ __pyx_string_tab[4946]
#define __pyx_kp_b_iso88591_B_wc_1IQ_Qa_Qk_Zq_t3a_q_1F_s_1 __pyx_string_tab[4947]
#define __pyx_kp_b_iso88591_B_xs_1_1Ja_3aq_3ay_Ja_Kq_1_B_kQ __pyx_string_tab[4948]
#define __pyx_kp_b_iso88591_B_z_A_Q_1L_S_S_AQ_m1M_4wa_N_1 __pyx_string_tab[4949]
#define __pyx_kp_b_iso88591_CDV_t3a_q_1F_s_1_s_9AQ_vS_1HA_A __pyx_string_tab[4950]
#define __pyx_kp_b_iso88591_CD_vS_1HA_AQ_A_Ja_DJm_ffmmwwx_A __pyx_string_tab[4951]
#define __pyx_kp_b_iso88591_CDr_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q __pyx_string_tab[4952]
#define __pyx_kp_b_iso88591_C_C_D_Z_6_c_1_fHCz_iq_vS_1HA_AQ __pyx_string_tab[4953]
#define __pyx_kp_b_iso88591_C_Z_Z_H_6_c_1_iq_wc_1IQ_Qa_QgQa __pyx_string_tab[4954]
#define __pyx_kp_b_iso88591_Cq_1O1_1A_1G1A_z_S_1_A_AQ_A_Ja __pyx_string_tab[4955]
#define __pyx_kp_b_iso88591_Cq_1O1_1A_1N_1_j_AQ_z_1_a_6_q_w __pyx_string_tab[4956]
#define __pyx_kp_b_iso88591_Cz_iq_uCq_1G1_1A_1L_Ja_1_s_5_F __pyx_string_tab[4957]
#define __pyx_kp_b_iso88591_DEJ_t3a_q_1F_s_1_s_aq_A_Zq_iq_R __pyx_string_tab[4958]
#define __pyx_kp_b_iso88591_D_E_nAYa_N_1 __pyx_string_tab[4959]
#define __pyx_kp_b_iso88591_D_aq_t_a_avQ_N_6_q __pyx_string_tab[4960]
#define __pyx_kp_b_iso88591_D_q_m1AV1A_t_a_avV1_N_6_q __pyx_string_tab[4961]
#define __pyx_kp_b_iso88591_D_t3a_q_1F_s_1_s_aq_A_k_N_1 __pyx_string_tab[4962]
#define __pyx_kp_b_iso88591_D_uCq_1G1_1A_1Jaq_A_B_1KxWbbc_t __pyx_string_tab[4963]
#define __pyx_kp_b_iso88591_D_uCq_1G1_1A_1Kq_Q_j_N_1 __pyx_string_tab[4964]
#define __pyx_kp_b_iso88591_D_uCq_1G1_1A_1L_Ja_I_R_ccmmn_Q __pyx_string_tab[4965]
#define __pyx_kp_b_iso88591_D_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K __pyx_string_tab[4966]
#define __pyx_kp_b_iso88591_D_wc_1IQ_Qa_Qhaq_A_Uaahhrrs_Q_0 __pyx_string_tab[4967]
#define __pyx_kp_b_iso88591_D_wc_1IQ_Qa_Qhaq_wc_1IQ_Qa_Q_aq __pyx_string_tab[4968]
#define __pyx_kp_b_iso88591_D_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AW __pyx_string_tab[4969]
#define __pyx_kp_b_iso88591_D_xs_1_1Ja_3aq_3axq_Q_Qk_N_1 __pyx_string_tab[4970]
#define __pyx_kp_b_iso88591_D_xs_1_1Ja_3aq_3axq_Q_uCq_1G1_1 __pyx_string_tab[4971]
#define __pyx_kp_b_iso88591_D_z_A_Q_1L_S_S_AQ_nA_D_q_N_1 __pyx_string_tab[4972]
#define __pyx_kp_b_iso88591_EFF_Q_1_gZxq_Q_9_RRZZees_t_B_B __pyx_string_tab[4973]
#define __pyx_kp_b_iso88591_EFH_0_K1_AQ_z_1_5Q6_ddoo_A_t_a __pyx_string_tab[4974]
#define __pyx_kp_b_iso88591_EF_t3a_q_1F_s_1_s_9AQ_vS_1HA_AQ __pyx_string_tab[4975]
#define __pyx_kp_b_iso88591_EF_vS_1HA_AQ_A_Ja_FjP_hhooyyz_C __pyx_string_tab[4976]
#define __pyx_kp_b_iso88591_E_nAQha_t_a_avQ_N_6 __pyx_string_tab[4977]
#define __pyx_kp_b_iso88591_F_F_G_F_6_c_1_iq_wc_1IQ_Qa_QgQa __pyx_string_tab[4978]
#define __pyx_kp_b_iso88591_F_Q_2_1O1A_t_a_avV1_N_6 __pyx_string_tab[4979]
#define __pyx_kp_b_iso88591_F_aq_N_1 __pyx_string_tab[4980]
#define __pyx_kp_b_iso88591_F_t3a_q_1F_s_1_s_81A_q_y_1_A_1K __pyx_string_tab[4981]
#define __pyx_kp_b_iso88591_F_uCq_1G1_1A_1Kq_Q_1_N_1 __pyx_string_tab[4982]
#define __pyx_kp_b_iso88591_F_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c __pyx_string_tab[4983]
#define __pyx_kp_b_iso88591_F_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L __pyx_string_tab[4984]
#define __pyx_kp_b_iso88591_F_y_1_A_1Kq_Cq_Cq_q_Q_y_1_A_1Kq __pyx_string_tab[4985]
#define __pyx_kp_b_iso88591_GH_Q_Q_s_V14EQ_Q_Q_J_CqPaaccggi __pyx_string_tab[4986]
#define __pyx_kp_b_iso88591_GH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa __pyx_string_tab[4987]
#define __pyx_kp_b_iso88591_H_7_1_wkQWW_aab_t_a_avQ_N_6 __pyx_string_tab[4988]
#define __pyx_kp_b_iso88591_H_t3a_q_1F_s_1_s_81A_q_1_N_1 __pyx_string_tab[4989]
#define __pyx_kp_b_iso88591_H_t3a_q_1F_s_1_s_81A_q_1__MYiip __pyx_string_tab[4990]
#define __pyx_kp_b_iso88591_H_uCq_1G1_1A_1Jaq_A_N_1 __pyx_string_tab[4991]
#define __pyx_kp_b_iso88591_H_uCq_1G1_1A_1Kq_Q_a_B_PVVaaiij __pyx_string_tab[4992]
#define __pyx_kp_b_iso88591_H_uCq_1G1_1A_1L_Ja_axq_N_1 __pyx_string_tab[4993]
#define __pyx_kp_b_iso88591_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa __pyx_string_tab[4994]
#define __pyx_kp_b_iso88591_H_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_2 __pyx_string_tab[4995]
#define __pyx_kp_b_iso88591_H_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B __pyx_string_tab[4996]
#define __pyx_kp_b_iso88591_H_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L __pyx_string_tab[4997]
#define __pyx_kp_b_iso88591_JJvvwD_Q_7x_IU_ffg_6hm9T_eef_MY __pyx_string_tab[4998]
#define __pyx_kp_b_iso88591_J_r_A_Q_1D_S_S_1A_z_iq_N_1 __pyx_string_tab[4999]
#define __pyx_kp_b_iso88591_J_uCq_1G1_1A_1Jaq_A_a_A_a_AQ_t __pyx_string_tab[5000]
#define __pyx_kp_b_iso88591_J_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1 __pyx_string_tab[5001]
#define __pyx_kp_b_iso88591_J_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq __pyx_string_tab[5002]
#define __pyx_kp_b_iso88591_J_wc_1IQ_Qa_Qhaq_A_a_A_1Jl_PQQR __pyx_string_tab[5003]
#define __pyx_kp_b_iso88591_J_xs_1_1Ja_3aq_3axq_Q_Kq_a_d_ZW __pyx_string_tab[5004]
#define __pyx_kp_b_iso88591_J_xs_1_1Ja_3aq_3axq_Q_Qk_a_N_1 __pyx_string_tab[5005]
#define __pyx_kp_b_iso88591_J_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1 __pyx_string_tab[5006]
#define __pyx_kp_b_iso88591_KL_uCq_1G1_1A_1Kq_Q_a_gQa_6j_4A __pyx_string_tab[5007]
#define __pyx_kp_b_iso88591_Kq_KzYZ_t_a_avQ_N_6 __pyx_string_tab[5008]
#define __pyx_kp_b_iso88591_LAP_2_yPWWaab_381_a_t_N___t_a_a __pyx_string_tab[5009]
#define __pyx_kp_b_iso88591_LAb_uCq_1G1_1A_1L_Ja_2_yPWWaab __pyx_string_tab[5010]
#define __pyx_kp_b_iso88591_L_7x_IU_ffg_B_XY_t_a_avQ_N_6 __pyx_string_tab[5011]
#define __pyx_kp_b_iso88591_L_vS_1HA_AQ_A_Ja_0_Q_S_0_a_a_Q __pyx_string_tab[5012]
#define __pyx_kp_b_iso88591_L_vS_1HA_AQ_A_Ja_2_q_S_2_Cq_Q_J __pyx_string_tab[5013]
#define __pyx_kp_b_iso88591_L_wc_1IQ_Qa_QgQa_1_uCq_1G1_1A_1 __pyx_string_tab[5014]
#define __pyx_kp_b_iso88591_L_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa __pyx_string_tab[5015]
#define __pyx_kp_b_iso88591_L_y_1_A_1Kq_Cq_Cq_Ja_xs_1_1Ja_3 __pyx_string_tab[5016]
#define __pyx_kp_b_iso88591_MQt_wc_1IQ_Qa_Qk_Zq_Zq_iq_iq_Q __pyx_string_tab[5017]
#define __pyx_kp_b_iso88591_N_1A_t_a_avQ_N_6_Qa __pyx_string_tab[5018]
#define __pyx_kp_b_iso88591_N_t3a_q_1F_s_1_s_81A_q_y_1_A_1K __pyx_string_tab[5019]
#define __pyx_kp_b_iso88591_N_uCq_1G1_1A_1Kq_Q_C7_UV_t_a_av __pyx_string_tab[5020]
#define __pyx_kp_b_iso88591_N_vS_1HA_AQ_AWAQ_99UUV_1_2ZZjju __pyx_string_tab[5021]
#define __pyx_kp_b_iso88591_N_wc_1IQ_Qa_QgQa_1_wa_a_PZZ_t_a __pyx_string_tab[5022]
#define __pyx_kp_b_iso88591_N_xs_1_1Ja_3aq_3axq_Q_z_A_4Ja_1 __pyx_string_tab[5023]
#define __pyx_kp_b_iso88591_N_z_A_Q_1L_S_S_5Qa_9_1_t3a_q_1F __pyx_string_tab[5024]
#define __pyx_kp_b_iso88591_P_Q_a_1M_c_c_Zq_vS_1HA_AQ_A_Ja __pyx_string_tab[5025]
#define __pyx_kp_b_iso88591_P_t3a_q_1F_s_1_s_9AQ_wc_1IQ_Qa __pyx_string_tab[5026]
#define __pyx_kp_b_iso88591_P_wc_1IQ_Qa_Q_2_1_6j____wj8I_Q __pyx_string_tab[5027]
#define __pyx_kp_b_iso88591_P_wc_1IQ_Qa_QfAQ_a_1_2PP_hhrrs __pyx_string_tab[5028]
#define __pyx_kp_b_iso88591_P_xs_1_1Ja_3aq_3axq_Q_Zq_WA_Q_a __pyx_string_tab[5029]
#define __pyx_kp_b_iso88591_P_xs_1_1Ja_3aq_3axq_Q_q_nA_t_a __pyx_string_tab[5030]
#define __pyx_kp_b_iso88591_Q __pyx_string_tab[5031]
#define __pyx_kp_b_iso88591_Q_1_t_a_avQ_N_6 __pyx_string_tab[5032]
#define __pyx_kp_b_iso88591_Q_2 __pyx_string_tab[5033]
#define __pyx_kp_b_iso88591_Q_3 __pyx_string_tab[5034]
#define __pyx_kp_b_iso88591_Q_4 __pyx_string_tab[5035]
#define __pyx_kp_b_iso88591_Q_a_1M_c_c_1_j_a_1_ZZggr_s_A_A __pyx_string_tab[5036]
#define __pyx_kp_b_iso88591_Q_a_1M_c_c_Qa_1_N_1 __pyx_string_tab[5037]
#define __pyx_kp_b_iso88591_Q_a_1M_c_c_Zq_a_YYffqq_A_t_a_av __pyx_string_tab[5038]
#define __pyx_kp_b_iso88591_Q_a_1M_c_c_aq_A_1_N_1 __pyx_string_tab[5039]
#define __pyx_kp_b_iso88591_Q_q_t_a_avQ_N_6 __pyx_string_tab[5040]
#define __pyx_kp_b_iso88591_Qa_Q_A_N_1 __pyx_string_tab[5041]
#define __pyx_kp_b_iso88591_Qa_Q_nAQ_N_1 __pyx_string_tab[5042]
#define __pyx_kp_b_iso88591_Qaq_t_a_avQ_N_6_4AQ __pyx_string_tab[5043]
#define __pyx_kp_b_iso88591_R_7_nA_8_t_a_avQ_N_6 __pyx_string_tab[5044]
#define __pyx_kp_b_iso88591_R_r_A_Q_1D_S_S_1A_z_m1E_Q_N_1 __pyx_string_tab[5045]
#define __pyx_kp_b_iso88591_R_t3a_q_1F_s_1_s_81A_q_1_q0ET_T __pyx_string_tab[5046]
#define __pyx_kp_b_iso88591_R_wc_1IQ_Qa_Q_aq_A_99UUV_ccss_t __pyx_string_tab[5047]
#define __pyx_kp_b_iso88591_R_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a __pyx_string_tab[5048]
#define __pyx_kp_b_iso88591_R_y_1_A_1Kq_Cq_Cq_1_j_NfT__kkww __pyx_string_tab[5049]
#define __pyx_kp_b_iso88591_SST_Q_2_yPWWaab_381_Q_FhkYiij_t __pyx_string_tab[5050]
#define __pyx_kp_b_iso88591_STH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q __pyx_string_tab[5051]
#define __pyx_kp_b_iso88591_T_1_a_FaxsR_WJgQ_we1_Qj_Qa_t_a __pyx_string_tab[5052]
#define __pyx_kp_b_iso88591_T_6_c_1_iq_t3a_q_1F_s_1_s_aq_A __pyx_string_tab[5053]
#define __pyx_kp_b_iso88591_T_T_D_xs_1_1Ja_3aq_3axq_Q_iq __pyx_string_tab[5054]
#define __pyx_kp_b_iso88591_T_j_Q_iq_5Q_q_s_b_0_as_q_s_Q_J __pyx_string_tab[5055]
#define __pyx_kp_b_iso88591_T_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K __pyx_string_tab[5056]
#define __pyx_kp_b_iso88591_T_xs_1_1Ja_3aq_3az_Zq_7_q0C7_U __pyx_string_tab[5057]
#define __pyx_kp_b_iso88591_UVH_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Q __pyx_string_tab[5058]
#define __pyx_kp_b_iso88591_U_eellmmn __pyx_string_tab[5059]
#define __pyx_kp_b_iso88591_V_Q_M_Zgguu_G_G_H_0_1PPZZeef_t __pyx_string_tab[5060]
#define __pyx_kp_b_iso88591_V_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A __pyx_string_tab[5061]
#define __pyx_kp_b_iso88591_V_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B __pyx_string_tab[5062]
#define __pyx_kp_b_iso88591_V_xs_1_1Ja_3aq_3axq_Q_Ja_6LEQR __pyx_string_tab[5063]
#define __pyx_kp_b_iso88591_V_xs_1_1Ja_3aq_3axq_Q_q_q_7_E_B __pyx_string_tab[5064]
#define __pyx_kp_b_iso88591_WKwF___hhiij __pyx_string_tab[5065]
#define __pyx_kp_b_iso88591_WKwVvvw_x_A_A_B_B_C __pyx_string_tab[5066]
#define __pyx_kp_b_iso88591_WKw_RRSS __pyx_string_tab[5067]
#define __pyx_kp_b_iso88591_W_X_R_R_L_L_M_L_xs_1_1Ja_3aq_3a __pyx_string_tab[5068]
#define __pyx_kp_b_iso88591_XQ_oQ_Q_t_a_avQ_N_6 __pyx_string_tab[5069]
#define __pyx_kp_b_iso88591_XXY8_a_6d_uGS_0_1_t_a_avQ_N_6 __pyx_string_tab[5070]
#define __pyx_kp_b_iso88591_X_Cq_1O1_1A_1O1A_z_wc_1IQ_Qa_Qh __pyx_string_tab[5071]
#define __pyx_kp_b_iso88591_X_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q __pyx_string_tab[5072]
#define __pyx_kp_b_iso88591_X_vS_1HA_AQ_AWAQ_4A_GwkYZ_t_a_a __pyx_string_tab[5073]
#define __pyx_kp_b_iso88591_X_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1K __pyx_string_tab[5074]
#define __pyx_kp_b_iso88591_X_xs_1_1Ja_3aq_3axq_Q_q_1_N_1 __pyx_string_tab[5075]
#define __pyx_kp_b_iso88591_ZZ_4_a_4D_U_Q_fA_4AQm_q_t_a_avQ __pyx_string_tab[5076]
#define __pyx_kp_b_iso88591_Z_1_a_FaxwV_a_WJgQ_we1_Qj_Qa_N __pyx_string_tab[5077]
#define __pyx_kp_b_iso88591_Z_XQ_1_2FhkY_a_t_a_avQ_N_6 __pyx_string_tab[5078]
#define __pyx_kp_b_iso88591_Z_a_y_q_XQ_havQ_t_a_avV1_N_6_1 __pyx_string_tab[5079]
#define __pyx_kp_b_iso88591_Z_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D __pyx_string_tab[5080]
#define __pyx_kp_b_iso88591_Z_y_1_A_1Kq_Cq_Cq_1_j_4A_N_1 __pyx_string_tab[5081]
#define __pyx_kp_b_iso88591__10 __pyx_string_tab[5082]
#define __pyx_kp_b_iso88591__11 __pyx_string_tab[5083]
#define __pyx_kp_b_iso88591__12 __pyx_string_tab[5084]
#define __pyx_kp_b_iso88591__13 __pyx_string_tab[5085]
#define __pyx_kp_b_iso88591__14 __pyx_string_tab[5086]
#define __pyx_kp_b_iso88591__15 __pyx_string_tab[5087]
#define __pyx_kp_b_iso88591__16 __pyx_string_tab[5088]
#define __pyx_kp_b_iso88591__17 __pyx_string_tab[5089]
#define __pyx_kp_b_iso88591__18 __pyx_string_tab[5090]
#define __pyx_kp_b_iso88591__19 __pyx_string_tab[5091]
#define __pyx_kp_b_iso88591__20 __pyx_string_tab[5092]
#define __pyx_kp_b_iso88591_a __pyx_string_tab[5093]
#define __pyx_kp_b_iso88591_a_2 __pyx_string_tab[5094]
#define __pyx_kp_b_iso88591_a_3 __pyx_string_tab[5095]
#define __pyx_kp_b_iso88591_a_N_1 __pyx_string_tab[5096]
#define __pyx_kp_b_iso88591_a_nAQa_t_a_avQ_N_6 __pyx_string_tab[5097]
#define __pyx_kp_b_iso88591_a_y_q_XQ_q_L_t_a_avQ_N_6 __pyx_string_tab[5098]
#define __pyx_kp_b_iso88591_b_0_K1_4D_U_Q_l_K6Q_bbnno_t_a_a __pyx_string_tab[5099]
#define __pyx_kp_b_iso88591_b_1_N_1 __pyx_string_tab[5100]
#define __pyx_kp_b_iso88591_b_c_a_B_vYc_1_iq_s_Zq_iq_F_Q_iq __pyx_string_tab[5101]
#define __pyx_kp_b_iso88591_b_t3a_q_1F_s_1_s_9AQ_m1A_N_1 __pyx_string_tab[5102]
#define __pyx_kp_b_iso88591_b_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D __pyx_string_tab[5103]
#define __pyx_kp_b_iso88591_d_t3a_q_1F_s_1_s_81A_q_Qa_MQ_5Q __pyx_string_tab[5104]
#define __pyx_kp_b_iso88591_d_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq __pyx_string_tab[5105]
#define __pyx_kp_b_iso88591_d_xs_1_1Ja_3aq_3axq_Q_iq_F_Q_iq __pyx_string_tab[5106]
#define __pyx_kp_b_iso88591_e_f_c_c_d_N_vYc_1_iq_s_Zq_iq_F __pyx_string_tab[5107]
#define __pyx_kp_b_iso88591_f_21MQ_6d_uGS_QQYYdde_t_a_avQ_N __pyx_string_tab[5108]
#define __pyx_kp_b_iso88591_f_Qa_Q_0_1H_Xaab_t_a_avQ_N_6 __pyx_string_tab[5109]
#define __pyx_kp_b_iso88591_f_q_oQhat_Q_t_a_avQ_N_6 __pyx_string_tab[5110]
#define __pyx_kp_b_iso88591_f_t3a_q_1F_s_1_s_81A_q_uCq_1G1 __pyx_string_tab[5111]
#define __pyx_kp_b_iso88591_gQa_N_1 __pyx_string_tab[5112]
#define __pyx_kp_b_iso88591_h_i_f_f_g_T_xs_1_1Ja_3aq_3axq_Q __pyx_string_tab[5113]
#define __pyx_kp_b_iso88591_h_uCq_1G1_1A_1Jaq_A_K1A_X_kk_t __pyx_string_tab[5114]
#define __pyx_kp_b_iso88591_h_z_A_Q_1L_S_S_Q_z_A_Q_1L_S_S_Q __pyx_string_tab[5115]
#define __pyx_kp_b_iso88591_j_vS_1HA_AQ_AZq_Q_2_4z_t_a_avQ __pyx_string_tab[5116]
#define __pyx_kp_b_iso88591_l_0uM_wjXY_1_N_1 __pyx_string_tab[5117]
#define __pyx_kp_b_iso88591_l_0uM_wjXY_k_N_1 __pyx_string_tab[5118]
#define __pyx_kp_b_iso88591_l_m_p_p_q_V_6_c_1_fHCz_iq_vS_1H __pyx_string_tab[5119]
#define __pyx_kp_b_iso88591_m1_nA_l_UV_t_a_avQ_N_6 __pyx_string_tab[5120]
#define __pyx_kp_b_iso88591_m_n_M_M_N_V_Zq_iq_6_c_1_iq_wc_1 __pyx_string_tab[5121]
#define __pyx_kp_b_iso88591_nAQ_N_1 __pyx_string_tab[5122]
#define __pyx_kp_b_iso88591_n_4I_T_eef_a_t_a_t_a_avQ_N_6 __pyx_string_tab[5123]
#define __pyx_kp_b_iso88591_n_v_c_1_iq_1_s_Rq_F_3aGZZ_c_Q_J __pyx_string_tab[5124]
#define __pyx_kp_b_iso88591_oQ_N_1 __pyx_string_tab[5125]
#define __pyx_kp_b_iso88591_p_3a_q_1N_s_1_s_9AQ_A_A_N_1 __pyx_string_tab[5126]
#define __pyx_kp_b_iso88591_p_q_P_P_Q_D_4Cz_V_Zq_iq_v_c_1_Z __pyx_string_tab[5127]
#define __pyx_kp_b_iso88591_p_vS_1HA_AQ_AZq_Q_q_m9TUUV_t_a __pyx_string_tab[5128]
#define __pyx_kp_b_iso88591_p_wc_1IQ_Qa_QgQa_1_a_A_KWaab_t __pyx_string_tab[5129]
#define __pyx_kp_b_iso88591_p_wc_1IQ_Qa_Qk_Zq_y_1_A_1Kq_Cq __pyx_string_tab[5130]
#define __pyx_kp_b_iso88591_q __pyx_string_tab[5131]
#define __pyx_kp_b_iso88591_q_2 __pyx_string_tab[5132]
#define __pyx_kp_b_iso88591_q_3 __pyx_string_tab[5133]
#define __pyx_kp_b_iso88591_q_4 __pyx_string_tab[5134]
#define __pyx_kp_b_iso88591_q_5 __pyx_string_tab[5135]
#define __pyx_kp_b_iso88591_q_N_1 __pyx_string_tab[5136]
#define __pyx_kp_b_iso88591_q_oQhat1_t_a_avQ_N_6 __pyx_string_tab[5137]
#define __pyx_kp_b_iso88591_r_0uM_wjXY_k_N_1 __pyx_string_tab[5138]
#define __pyx_kp_b_iso88591_r_A_Q_1D_S_S_1A_z_1_G7R_XZ_Q_q __pyx_string_tab[5139]
#define __pyx_kp_b_iso88591_r_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq __pyx_string_tab[5140]
#define __pyx_kp_b_iso88591_r_xs_1_1Ja_3aq_3axq_Q_r_A_Q_1D __pyx_string_tab[5141]
#define __pyx_kp_b_iso88591_s_1_1_a_3aq_3a_q_3_Q_aq_N_1 __pyx_string_tab[5142]
#define __pyx_kp_b_iso88591_s_1_1_a_3aq_3a_q_3_Q_wa_q0C_kYl __pyx_string_tab[5143]
#define __pyx_kp_b_iso88591_s_1_1_a_3aq_3a_q_3_Q_xs_1_1Ja_3 __pyx_string_tab[5144]
#define __pyx_kp_b_iso88591_s_Q_a_1E_c_c_1_j_xs_1_1Ja_3aq_3 __pyx_string_tab[5145]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_0_N_1 __pyx_string_tab[5146]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_1_A_B_kQR __pyx_string_tab[5147]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_Q_Q_0_t_a __pyx_string_tab[5148]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_Q_WA_9_O_Z __pyx_string_tab[5149]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_aq_N_1 __pyx_string_tab[5150]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_q_b_XQ_t_a_a __pyx_string_tab[5151]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_81A_z_a_q_t_a_av __pyx_string_tab[5152]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_9AQ_1_N_1 __pyx_string_tab[5153]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_9AQ_a_aq_q_t_a_a __pyx_string_tab[5154]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_9AQ_aq_N_1 __pyx_string_tab[5155]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_9AQ_t_a_avQ_N_6 __pyx_string_tab[5156]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_aq_A_A_2_yPWWaab __pyx_string_tab[5157]
#define __pyx_kp_b_iso88591_t3a_q_1F_s_1_s_aq_A_t3a_q_1F_s __pyx_string_tab[5158]
#define __pyx_kp_b_iso88591_t_7q_J_Wddrry_z_D_D_E_Q_J_T___t __pyx_string_tab[5159]
#define __pyx_kp_b_iso88591_t_A_kQWW_aaeef_t_a_avQ_N_6 __pyx_string_tab[5160]
#define __pyx_kp_b_iso88591_t_Kq_a_d_QhVddllm_t_a_avV1_N_6 __pyx_string_tab[5161]
#define __pyx_kp_b_iso88591_t_y_1_A_1Kq_Cq_Cq_1_j_XQ_Q_B_Ua __pyx_string_tab[5162]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1G1A_z_wc_1IQ_Qa_QgQ __pyx_string_tab[5163]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1HAQ_HA_WKxWX_t_a_av __pyx_string_tab[5164]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1HAQ_Kq_1_KqPZZbbc_t __pyx_string_tab[5165]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1HAQ_iq_x_RZZ_t_a_av __pyx_string_tab[5166]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1Jaq_A_aq_QQYYdde_t __pyx_string_tab[5167]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1Jaq_A_iq_hkQR_t_a_a __pyx_string_tab[5168]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1L_Ja_q_N_1 __pyx_string_tab[5169]
#define __pyx_kp_b_iso88591_uCq_1G1_1A_1L_Ja_t3a_q_1F_s_1_s __pyx_string_tab[5170]
#define __pyx_kp_b_iso88591_uCq_2_A_1G1_G1_2_A_1G1_2_A_iq_A __pyx_string_tab[5171]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_3 __pyx_string_tab[5172]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AWAQ_vS_1HA_AQ_A_Ja_5 __pyx_string_tab[5173]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AZq_Q_9Cs_N_1 __pyx_string_tab[5174]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AZq_Q_l_9HA_N_1 __pyx_string_tab[5175]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AZq_Q_q_7_E_l_9HKq_N __pyx_string_tab[5176]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_AZq_Q_uCq_1G1_1A_1Kq __pyx_string_tab[5177]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_1A_t_a_avQ_N_6 __pyx_string_tab[5178]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_1_2_9_SS_t_a_avQ __pyx_string_tab[5179]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_44QQR_A_Ktt_t_a __pyx_string_tab[5180]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_66UUV_C1IMx_y_C __pyx_string_tab[5181]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_AYaq_t_a_avQ_N_6 __pyx_string_tab[5182]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_A_q_9ZZdde_t_a_a __pyx_string_tab[5183]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ __pyx_string_tab[5184]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_EQ_1_hhi_t_a_avQ_2 __pyx_string_tab[5185]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_M_1_TT___t_a_avQ __pyx_string_tab[5186]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_Q_a_1M_c_c_Qa_1 __pyx_string_tab[5187]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_Q_oQixq_1_t_a_av __pyx_string_tab[5188]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_WA_31I_PPYYZ_t_a __pyx_string_tab[5189]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_WA_5Qi_RR_t_a_av __pyx_string_tab[5190]
#define __pyx_kp_b_iso88591_vS_1HA_AQ_A_Ja_nAQ_N_1 __pyx_string_tab[5191]
#define __pyx_kp_b_iso88591_v_7_B_P_llss_a_A_t_a_avQ_N_6 __pyx_string_tab[5192]
#define __pyx_kp_b_iso88591_v_7_m_jjqq_nA_8_t_a_avQ_N_6 __pyx_string_tab[5193]
#define __pyx_kp_b_iso88591_v_t3a_q_1F_s_1_s_81A_q_wc_1IQ_Q __pyx_string_tab[5194]
#define __pyx_kp_b_iso88591_v_uCq_1G1_1A_1Kq_Q_xs_1_1Ja_3aq __pyx_string_tab[5195]
#define __pyx_kp_b_iso88591_v_vS_1HA_AQ_A_Ja_a_1_2PP_hhqqr __pyx_string_tab[5196]
#define __pyx_kp_b_iso88591_v_w_w_w_W_W_D_D_r_r_H_H_I_V_Zq __pyx_string_tab[5197]
#define __pyx_kp_b_iso88591_v_wc_1IQ_Qa_QgQa_1_Q_a_1M_c_c_Q __pyx_string_tab[5198]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Q_2_1_6j_7q_Q_aallm_t __pyx_string_tab[5199]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Q_2_1_6j_m1A_N_1 __pyx_string_tab[5200]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Q_Zq_1_N_1 __pyx_string_tab[5201]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QfAQ_vS_1HA_AQ_AV1A_z __pyx_string_tab[5202]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_44K1_Q_QQaallm __pyx_string_tab[5203]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_N_1 __pyx_string_tab[5204]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_Q_S_V1O1_s_Q_J __pyx_string_tab[5205]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_a_KK_ii_C_C_M __pyx_string_tab[5206]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_a_S_q_q_83a_Q __pyx_string_tab[5207]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_m1A_N_1 __pyx_string_tab[5208]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_oQa_N_1 __pyx_string_tab[5209]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_xs_1_1Ja_3aq_3 __pyx_string_tab[5210]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_QgQa_1_y_1_A_1Kq_Cq_C __pyx_string_tab[5211]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Qhaq_1A_N_1 __pyx_string_tab[5212]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Ql_1_j_1_kkuuv_t_a_av __pyx_string_tab[5213]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Ql_1_j_Q_N_1 __pyx_string_tab[5214]
#define __pyx_kp_b_iso88591_wc_1IQ_Qa_Ql_1_j_vS_1HA_AQ_AWAQ __pyx_string_tab[5215]
#define __pyx_kp_b_iso88591_wkQXXyyz_D_D_E_E_F __pyx_string_tab[5216]
#define __pyx_kp_b_iso88591_wk_UUVV___a __pyx_string_tab[5217]
#define __pyx_kp_b_iso88591_x_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja __pyx_string_tab[5218]
#define __pyx_kp_b_iso88591_x_xs_1_1Ja_3aq_3axq_Q_1_4I_Xnnw __pyx_string_tab[5219]
#define __pyx_kp_b_iso88591_x_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a __pyx_string_tab[5220]
#define __pyx_kp_b_iso88591_x_z_A_Q_1L_S_S_5Qa_9_1_y_1_A_1K __pyx_string_tab[5221]
#define __pyx_kp_b_iso88591_xs_1Ja_7_1Ja_iq_vvxx_A_A_B_B_C __pyx_string_tab[5222]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_1_t3a_q_1F_s __pyx_string_tab[5223]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_1_Q_N_1 __pyx_string_tab[5224]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_1_oQk1Fd_t __pyx_string_tab[5225]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_2_SST_N_1 __pyx_string_tab[5226]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_7_5H_q_t_a __pyx_string_tab[5227]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_81_4H_a_t_a __pyx_string_tab[5228]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_A_1N_t_a_av __pyx_string_tab[5229]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_A_G1_N_1 __pyx_string_tab[5230]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_Cz_iq_2_s_3 __pyx_string_tab[5231]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_Q_a_1M_c_c __pyx_string_tab[5232]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_QauKq_t_a_a __pyx_string_tab[5233]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_a_Qa_Q_t_a __pyx_string_tab[5234]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_a_a_2_14J_K __pyx_string_tab[5235]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_aq_N_1 __pyx_string_tab[5236]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ __pyx_string_tab[5237]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_aq_t_a_avQ_2 __pyx_string_tab[5238]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_q_1_N_1 __pyx_string_tab[5239]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_t3a_q_1F_s __pyx_string_tab[5240]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_uM_wjXY_a_A __pyx_string_tab[5241]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_wc_1IQ_Qa_Q __pyx_string_tab[5242]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C __pyx_string_tab[5243]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_y_1_A_1Kq_C_2 __pyx_string_tab[5244]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S __pyx_string_tab[5245]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_2 __pyx_string_tab[5246]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3axq_Q_z_A_Q_1L_S_3 __pyx_string_tab[5247]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3ay_Ja_2_81F_Q_t_a __pyx_string_tab[5248]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3ay_Ja_Kq_1_A_PQQ __pyx_string_tab[5249]
#define __pyx_kp_b_iso88591_xs_1_1Ja_3aq_3ay_Ja_aq_N_1 __pyx_string_tab[5250]
#define __pyx_kp_b_iso88591_xs_q_xs_q_xs_q_xs_q_xs_q_xs_q_x __pyx_string_tab[5251]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_1_j_9_QQXXccddk __pyx_string_tab[5252]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_1_j_A_A_llwwx_t __pyx_string_tab[5253]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_1_j_k_N_1 __pyx_string_tab[5254]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_1_j_oQawa_t_a_a __pyx_string_tab[5255]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_1_j_z_QQYYddppw __pyx_string_tab[5256]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_AQ_0_q_t_a_AX_6 __pyx_string_tab[5257]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1L_N __pyx_string_tab[5258]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_q_Q_1A_wj_m1O_N __pyx_string_tab[5259]
#define __pyx_kp_b_iso88591_y_1_A_1Kq_Cq_Cq_q_Q_z_A_Q_1L_S __pyx_string_tab[5260]
#define __pyx_kp_b_iso88591_z_A_Q_1L_S_S_AQ_N_1 __pyx_string_tab[5261]
#define __pyx_kp_b_iso88591_z_A_Q_1L_S_S_AQ_y_1_A_1Kq_Cq_Cq __pyx_string_tab[5262]
#define __pyx_kp_b_iso88591_z_Q_a_1_1_c_c_AQ_uCq_1G1_1A_1Ja __pyx_string_tab[5263]
#define __pyx_kp_b_iso88591_z_wc_1IQ_Qa_Q_2_1_6j_t3a_q_1F_s __pyx_string_tab[5264]
#define __pyx_int_0 __pyx_number_tab[0]
#define __pyx_int_1 __pyx_number_tab[1]
#define __pyx_int_127 __pyx_number_tab[2]
#define __pyx_int_neg_129 __pyx_number_tab[3]
#define __pyx_int_256 __pyx_number_tab[4]
#define __pyx_int_1024 __pyx_number_tab[5]
/* #### 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);
  #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_CUstreamMemOpAtomicReductionParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_CUcheckpointGpuPair);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair);
  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_CUdevWorkqueueConfigResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS);
  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);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr);
  for (int i=0; i<1288; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<5265; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<6; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_clear_contents ### */
/* CommonTypesMetaclass.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CyFunctionType);

/* Generator.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_clear_end ### */
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);
  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_CUstreamMemOpAtomicReductionParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_CUcheckpointGpuPair_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_CUdevWorkqueueConfigResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_CUcheckpointGpuPair);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair);
  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_CUdevWorkqueueConfigResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS);
  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);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr);
  for (int i=0; i<1288; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<5265; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<6; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_traverse_contents ### */
/* CommonTypesMetaclass.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CyFunctionType);

/* Generator.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_traverse_end ### */
return 0;
}
#endif
/* #### Code section: module_code ### */
static PyObject *__pyx_gb_4cuda_8bindings_6driver_962generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":358
 *     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_960genexpr(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, 358, __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_962generator, ((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, 358, __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_962generator(__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, 358, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 358, __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, 358, __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, 358, __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, 358, __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, 358, __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, 358, __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, 358, __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_965generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":375
 *     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_963genexpr(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, 375, __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_965generator1, ((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, 375, __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_965generator1(__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, 375, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 375, __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, 375, __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, 375, __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, 375, __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, 375, __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, 375, __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, 375, __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_968generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":415
 *     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_966genexpr(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, 415, __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_968generator2, ((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, 415, __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_968generator2(__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, 415, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 415, __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, 415, __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, 415, __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, 415, __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, 415, __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, 415, __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, 415, __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_971generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":434
 *     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_969genexpr(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, 434, __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_971generator3, ((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, 434, __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_971generator3(__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, 434, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 434, __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, 434, __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, 434, __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, 434, __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, 434, __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, 434, __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, 434, __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_974generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":453
 *     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_972genexpr(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, 453, __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_974generator4, ((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, 453, __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_974generator4(__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, 453, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 453, __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, 453, __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, 453, __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, 453, __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, 453, __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, 453, __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, 453, __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_977generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":472
 *     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_975genexpr(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, 472, __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_977generator5, ((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, 472, __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_977generator5(__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, 472, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 472, __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, 472, __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, 472, __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, 472, __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, 472, __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, 472, __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, 472, __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_980generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":485
 *     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_978genexpr(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, 485, __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_980generator6, ((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, 485, __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_980generator6(__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, 485, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 485, __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, 485, __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, 485, __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, 485, __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, 485, __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, 485, __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, 485, __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_983generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":505
 *     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_981genexpr(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, 505, __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_983generator7, ((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, 505, __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_983generator7(__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, 505, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 505, __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, 505, __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, 505, __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, 505, __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, 505, __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, 505, __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, 505, __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_986generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":520
 *     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_984genexpr(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, 520, __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_986generator8, ((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, 520, __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_986generator8(__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, 520, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 520, __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, 520, __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, 520, __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, 520, __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, 520, __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, 520, __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, 520, __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_989generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":534
 *     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 CUatomicOperation(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_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, 534, __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_989generator9, ((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, 534, __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_989generator9(__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, 534, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 534, __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, 534, __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, 534, __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, 534, __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, 534, __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, 534, __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, 534, __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_992generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":555
 *     CU_ATOMIC_OPERATION_MAX = cydriver.CUatomicOperation_enum.CU_ATOMIC_OPERATION_MAX
 * 
 * _dict_CUatomicOperation = dict(((int(v), v) for k, v in CUatomicOperation.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUatomicOperationCapability(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_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, 555, __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_992generator10, ((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, 555, __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_992generator10(__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, 555, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 555, __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, 555, __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, 555, __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, 555, __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, 555, __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, 555, __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, 555, __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_995generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":569
 * 
 * 
 * _dict_CUatomicOperationCapability = dict(((int(v), v) for k, v in CUatomicOperationCapability.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(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_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, 569, __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_995generator11, ((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, 569, __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_995generator11(__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, 569, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 569, __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, 569, __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, 569, __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, 569, __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, 569, __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, 569, __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, 569, __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_998generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":605
 *     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_996genexpr(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, 605, __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_998generator12, ((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, 605, __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_998generator12(__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, 605, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 605, __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, 605, __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, 605, __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, 605, __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, 605, __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, 605, __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, 605, __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_1001generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":623
 *     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_999genexpr(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, 623, __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_1001generator13, ((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, 623, __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_1001generator13(__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, 623, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 623, __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, 623, __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, 623, __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, 623, __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, 623, __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, 623, __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, 623, __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_1004generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":653
 *     CU_STREAM_MEM_OP_ATOMIC_REDUCTION = cydriver.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_ATOMIC_REDUCTION
 * 
 * _dict_CUstreamBatchMemOpType = dict(((int(v), v) for k, v in CUstreamBatchMemOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamMemoryBarrier_flags(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_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, 653, __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_1004generator14, ((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, 653, __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_1004generator14(__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, 653, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 653, __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, 653, __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, 653, __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, 653, __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, 653, __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, 653, __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, 653, __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_1007generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":666
 *     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 CUstreamAtomicReductionOpType(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_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, 666, __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_1007generator15, ((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, 666, __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_1007generator15(__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, 666, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 666, __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, 666, __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, 666, __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, 666, __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, 666, __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, 666, __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, 666, __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_1010generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":683
 *     CU_STREAM_ATOMIC_REDUCTION_OP_OR = cydriver.CUstreamAtomicReductionOpType_enum.CU_STREAM_ATOMIC_REDUCTION_OP_OR
 * 
 * _dict_CUstreamAtomicReductionOpType = dict(((int(v), v) for k, v in CUstreamAtomicReductionOpType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAtomicReductionDataType(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_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, 683, __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_1010generator16, ((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, 683, __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_1010generator16(__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, 683, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 683, __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, 683, __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, 683, __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, 683, __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, 683, __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, 683, __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, 683, __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_1013generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":693
 * 
 * 
 * _dict_CUstreamAtomicReductionDataType = dict(((int(v), v) for k, v in CUstreamAtomicReductionDataType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(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_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, 693, __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_1013generator17, ((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, 693, __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_1013generator17(__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, 693, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 693, __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, 693, __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, 693, __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, 693, __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, 693, __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, 693, __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, 693, __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_1016generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":707
 *     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_1014genexpr(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, 707, __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_1016generator18, ((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, 707, __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_1016generator18(__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, 707, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 707, __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, 707, __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, 707, __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, 707, __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, 707, __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, 707, __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, 707, __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_1019generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":720
 *     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_1017genexpr(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, 720, __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_1019generator19, ((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, 720, __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_1019generator19(__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, 720, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 720, __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, 720, __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, 720, __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, 720, __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, 720, __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, 720, __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, 720, __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_1022generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":730
 *     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_1020genexpr(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, 730, __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_1022generator20, ((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, 730, __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_1022generator20(__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, 730, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 730, __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, 730, __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, 730, __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, 730, __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, 730, __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, 730, __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, 730, __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_1025generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":950
 *     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_1023genexpr(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, 950, __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_1025generator21, ((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, 950, __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_1025generator21(__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, 950, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 950, __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, 950, __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, 950, __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, 950, __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, 950, __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, 950, __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, 950, __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_1028generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":969
 *     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_1026genexpr(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, 969, __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_1028generator22, ((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, 969, __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_1028generator22(__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, 969, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 969, __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, 969, __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, 969, __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, 969, __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, 969, __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, 969, __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, 969, __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_1031generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":982
 *     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_1029genexpr(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, 982, __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_1031generator23, ((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, 982, __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_1031generator23(__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, 982, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 982, __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, 982, __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, 982, __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, 982, __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, 982, __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, 982, __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, 982, __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_1034generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1509
 *     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_1032genexpr(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, 1509, __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_1034generator24, ((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, 1509, __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_1034generator24(__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, 1509, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1509, __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, 1509, __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, 1509, __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, 1509, __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, 1509, __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, 1509, __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, 1509, __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_1037generator25(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1594
 *     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_1035genexpr(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, 1594, __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_1037generator25, ((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, 1594, __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_1037generator25(__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, 1594, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1594, __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, 1594, __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, 1594, __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, 1594, __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, 1594, __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, 1594, __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, 1594, __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_1040generator26(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1724
 *     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_1038genexpr(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, 1724, __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_1040generator26, ((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, 1724, __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_1040generator26(__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, 1724, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1724, __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, 1724, __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, 1724, __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, 1724, __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, 1724, __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, 1724, __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, 1724, __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_1043generator27(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1743
 *     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_1041genexpr(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, 1743, __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_1043generator27, ((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, 1743, __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_1043generator27(__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, 1743, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1743, __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, 1743, __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, 1743, __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, 1743, __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, 1743, __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, 1743, __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, 1743, __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_1046generator28(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1759
 *     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_1044genexpr(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, 1759, __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_1046generator28, ((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, 1759, __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_1046generator28(__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, 1759, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1759, __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, 1759, __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, 1759, __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, 1759, __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, 1759, __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, 1759, __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, 1759, __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_1049generator29(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1776
 *     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_1047genexpr(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, 1776, __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_1049generator29, ((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, 1776, __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_1049generator29(__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, 1776, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1776, __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, 1776, __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, 1776, __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, 1776, __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, 1776, __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, 1776, __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, 1776, __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_1052generator30(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1795
 *     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_1050genexpr(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, 1795, __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_1052generator30, ((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, 1795, __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_1052generator30(__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, 1795, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1795, __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, 1795, __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, 1795, __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, 1795, __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, 1795, __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, 1795, __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, 1795, __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_1055generator31(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1813
 *     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_1053genexpr(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, 1813, __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_1055generator31, ((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, 1813, __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_1055generator31(__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, 1813, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1813, __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, 1813, __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, 1813, __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, 1813, __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, 1813, __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, 1813, __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, 1813, __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_1058generator32(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1840
 *     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_1056genexpr(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, 1840, __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_1058generator32, ((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, 1840, __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_1058generator32(__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, 1840, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1840, __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, 1840, __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, 1840, __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, 1840, __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, 1840, __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, 1840, __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, 1840, __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_1061generator33(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":1873
 *     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_1059genexpr(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, 1873, __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_1061generator33, ((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, 1873, __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_1061generator33(__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, 1873, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 1873, __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, 1873, __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, 1873, __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, 1873, __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, 1873, __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, 1873, __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, 1873, __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_1064generator34(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2123
 *     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_1062genexpr(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, 2123, __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_1064generator34, ((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, 2123, __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_1064generator34(__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, 2123, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2123, __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, 2123, __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, 2123, __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, 2123, __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, 2123, __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, 2123, __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, 2123, __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_1067generator35(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2231
 *     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_1065genexpr(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, 2231, __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_1067generator35, ((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, 2231, __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_1067generator35(__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, 2231, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2231, __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, 2231, __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, 2231, __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, 2231, __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, 2231, __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, 2231, __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, 2231, __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_1070generator36(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2245
 *     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_1068genexpr(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, 2245, __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_1070generator36, ((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, 2245, __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_1070generator36(__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, 2245, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2245, __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, 2245, __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, 2245, __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, 2245, __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, 2245, __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, 2245, __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, 2245, __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_1073generator37(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2261
 *     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_1071genexpr(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, 2261, __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_1073generator37, ((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, 2261, __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_1073generator37(__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, 2261, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2261, __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, 2261, __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, 2261, __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, 2261, __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, 2261, __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, 2261, __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, 2261, __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_1076generator38(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2297
 *     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_1074genexpr(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, 2297, __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_1076generator38, ((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, 2297, __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_1076generator38(__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, 2297, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2297, __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, 2297, __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, 2297, __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, 2297, __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, 2297, __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, 2297, __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, 2297, __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_1079generator39(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2309
 *     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_1077genexpr(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, 2309, __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_1079generator39, ((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, 2309, __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_1079generator39(__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, 2309, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2309, __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, 2309, __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, 2309, __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, 2309, __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, 2309, __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, 2309, __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, 2309, __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_1082generator40(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2319
 *     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_1080genexpr(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, 2319, __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_1082generator40, ((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, 2319, __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_1082generator40(__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, 2319, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2319, __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, 2319, __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, 2319, __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, 2319, __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, 2319, __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, 2319, __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, 2319, __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_1085generator41(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2344
 *     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_1083genexpr(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, 2344, __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_1085generator41, ((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, 2344, __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_1085generator41(__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, 2344, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2344, __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, 2344, __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, 2344, __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, 2344, __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, 2344, __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, 2344, __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, 2344, __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_1088generator42(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2387
 *     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_1086genexpr(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, 2387, __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_1088generator42, ((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, 2387, __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_1088generator42(__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, 2387, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2387, __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, 2387, __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, 2387, __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, 2387, __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, 2387, __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, 2387, __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, 2387, __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_1091generator43(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2406
 *     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_1089genexpr(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, 2406, __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_1091generator43, ((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, 2406, __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_1091generator43(__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, 2406, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2406, __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, 2406, __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, 2406, __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, 2406, __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, 2406, __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, 2406, __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, 2406, __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_1094generator44(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2423
 *     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_1092genexpr(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, 2423, __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_1094generator44, ((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, 2423, __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_1094generator44(__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, 2423, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2423, __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, 2423, __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, 2423, __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, 2423, __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, 2423, __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, 2423, __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, 2423, __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_1097generator45(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2444
 *     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_1095genexpr(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, 2444, __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_1097generator45, ((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, 2444, __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_1097generator45(__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, 2444, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2444, __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, 2444, __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, 2444, __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, 2444, __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, 2444, __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, 2444, __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, 2444, __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_1100generator46(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2518
 *     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_1098genexpr(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, 2518, __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_1100generator46, ((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, 2518, __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_1100generator46(__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, 2518, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2518, __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, 2518, __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, 2518, __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, 2518, __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, 2518, __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, 2518, __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, 2518, __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_1103generator47(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2536
 *     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_1101genexpr(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, 2536, __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_1103generator47, ((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, 2536, __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_1103generator47(__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, 2536, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2536, __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, 2536, __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, 2536, __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, 2536, __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, 2536, __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, 2536, __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, 2536, __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_1106generator48(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2565
 *     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_1104genexpr(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, 2565, __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_1106generator48, ((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, 2565, __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_1106generator48(__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, 2565, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2565, __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, 2565, __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, 2565, __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, 2565, __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, 2565, __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, 2565, __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, 2565, __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_1109generator49(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2576
 *     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_1107genexpr(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, 2576, __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_1109generator49, ((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, 2576, __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_1109generator49(__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, 2576, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2576, __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, 2576, __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, 2576, __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, 2576, __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, 2576, __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, 2576, __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, 2576, __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_1112generator50(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2594
 *     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_1110genexpr(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, 2594, __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_1112generator50, ((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, 2594, __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_1112generator50(__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, 2594, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2594, __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, 2594, __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, 2594, __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, 2594, __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, 2594, __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, 2594, __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, 2594, __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_1115generator51(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2624
 *     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_1113genexpr(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, 2624, __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_1115generator51, ((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, 2624, __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_1115generator51(__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, 2624, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2624, __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, 2624, __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, 2624, __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, 2624, __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, 2624, __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, 2624, __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, 2624, __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_1118generator52(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2821
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureStatus(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_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, 2821, __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_1118generator52, ((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, 2821, __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_1118generator52(__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, 2821, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2821, __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, 2821, __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, 2821, __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, 2821, __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, 2821, __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, 2821, __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, 2821, __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_1121generator53(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2839
 *     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_1119genexpr(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, 2839, __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_1121generator53, ((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, 2839, __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_1121generator53(__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, 2839, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2839, __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, 2839, __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, 2839, __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, 2839, __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, 2839, __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, 2839, __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, 2839, __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_1124generator54(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2851
 *     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_1122genexpr(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, 2851, __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_1124generator54, ((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, 2851, __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_1124generator54(__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, 2851, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2851, __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, 2851, __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, 2851, __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, 2851, __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, 2851, __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, 2851, __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, 2851, __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_1127generator55(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2868
 *     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_1125genexpr(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, 2868, __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_1127generator55, ((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, 2868, __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_1127generator55(__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, 2868, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2868, __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, 2868, __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, 2868, __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, 2868, __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, 2868, __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, 2868, __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, 2868, __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_1130generator56(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2885
 *     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_1128genexpr(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, 2885, __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_1130generator56, ((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, 2885, __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_1130generator56(__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, 2885, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2885, __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, 2885, __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, 2885, __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, 2885, __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, 2885, __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, 2885, __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, 2885, __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_1133generator57(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2896
 *     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_1131genexpr(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, 2896, __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_1133generator57, ((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, 2896, __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_1133generator57(__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, 2896, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2896, __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, 2896, __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, 2896, __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, 2896, __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, 2896, __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, 2896, __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, 2896, __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_1136generator58(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2907
 *     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_1134genexpr(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, 2907, __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_1136generator58, ((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, 2907, __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_1136generator58(__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, 2907, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2907, __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, 2907, __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, 2907, __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, 2907, __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, 2907, __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, 2907, __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, 2907, __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_1139generator59(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":2929
 *     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_1137genexpr(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, 2929, __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_1139generator59, ((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, 2929, __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_1139generator59(__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, 2929, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 2929, __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, 2929, __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, 2929, __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, 2929, __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, 2929, __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, 2929, __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, 2929, __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_1142generator60(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3427
 *     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_1140genexpr(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, 3427, __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_1142generator60, ((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, 3427, __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_1142generator60(__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, 3427, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3427, __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, 3427, __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, 3427, __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, 3427, __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, 3427, __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, 3427, __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, 3427, __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_1145generator61(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3453
 *     CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED = cydriver.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_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_1143genexpr(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, 3453, __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_1145generator61, ((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, 3453, __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_1145generator61(__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, 3453, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3453, __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, 3453, __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, 3453, __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, 3453, __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, 3453, __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, 3453, __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, 3453, __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_1148generator62(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3565
 *     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_1146genexpr(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, 3565, __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_1148generator62, ((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, 3565, __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_1148generator62(__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, 3565, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3565, __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, 3565, __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, 3565, __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, 3565, __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, 3565, __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, 3565, __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, 3565, __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_1151generator63(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3588
 *     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_1149genexpr(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, 3588, __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_1151generator63, ((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, 3588, __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_1151generator63(__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, 3588, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3588, __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, 3588, __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, 3588, __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, 3588, __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, 3588, __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, 3588, __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, 3588, __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_1154generator64(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3598
 *     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_1152genexpr(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, 3598, __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_1154generator64, ((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, 3598, __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_1154generator64(__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, 3598, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3598, __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, 3598, __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, 3598, __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, 3598, __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, 3598, __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, 3598, __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, 3598, __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_1157generator65(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3612
 *     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_1155genexpr(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, 3612, __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_1157generator65, ((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, 3612, __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_1157generator65(__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, 3612, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3612, __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, 3612, __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, 3612, __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, 3612, __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, 3612, __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, 3612, __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, 3612, __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_1160generator66(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3623
 *     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_1158genexpr(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, 3623, __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_1160generator66, ((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, 3623, __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_1160generator66(__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, 3623, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3623, __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, 3623, __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, 3623, __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, 3623, __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, 3623, __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, 3623, __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, 3623, __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_1163generator67(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3632
 *     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_1161genexpr(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, 3632, __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_1163generator67, ((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, 3632, __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_1163generator67(__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, 3632, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3632, __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, 3632, __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, 3632, __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, 3632, __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, 3632, __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, 3632, __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, 3632, __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_1166generator68(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3641
 *     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_1164genexpr(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, 3641, __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_1166generator68, ((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, 3641, __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_1166generator68(__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, 3641, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3641, __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, 3641, __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, 3641, __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, 3641, __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, 3641, __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, 3641, __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, 3641, __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_1169generator69(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3662
 *     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_1167genexpr(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, 3662, __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_1169generator69, ((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, 3662, __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_1169generator69(__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, 3662, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3662, __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, 3662, __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, 3662, __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, 3662, __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, 3662, __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, 3662, __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, 3662, __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_1172generator70(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3696
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD = cydriver.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD
 * 
 * _dict_CUexternalMemoryHandleType = dict(((int(v), v) for k, v in CUexternalMemoryHandleType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUexternalSemaphoreHandleType(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_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, 3696, __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_1172generator70, ((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, 3696, __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_1172generator70(__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, 3696, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3696, __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, 3696, __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, 3696, __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, 3696, __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, 3696, __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, 3696, __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, 3696, __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_1175generator71(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3735
 *     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_1173genexpr(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, 3735, __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_1175generator71, ((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, 3735, __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_1175generator71(__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, 3735, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3735, __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, 3735, __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, 3735, __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, 3735, __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, 3735, __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, 3735, __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, 3735, __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_1178generator72(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3759
 *     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_1176genexpr(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, 3759, __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_1178generator72, ((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, 3759, __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_1178generator72(__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, 3759, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3759, __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, 3759, __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, 3759, __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, 3759, __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, 3759, __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, 3759, __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, 3759, __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_1181generator73(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3776
 *     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_1179genexpr(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, 3776, __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_1181generator73, ((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, 3776, __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_1181generator73(__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, 3776, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3776, __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, 3776, __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, 3776, __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, 3776, __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, 3776, __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, 3776, __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, 3776, __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_1184generator74(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3801
 *     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_1182genexpr(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, 3801, __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_1184generator74, ((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, 3801, __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_1184generator74(__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, 3801, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3801, __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, 3801, __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, 3801, __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, 3801, __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, 3801, __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, 3801, __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, 3801, __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_1187generator75(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3817
 *     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_1185genexpr(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, 3817, __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_1187generator75, ((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, 3817, __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_1187generator75(__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, 3817, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3817, __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, 3817, __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, 3817, __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, 3817, __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, 3817, __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, 3817, __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, 3817, __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_1190generator76(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3831
 *     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_1188genexpr(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, 3831, __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_1190generator76, ((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, 3831, __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_1190generator76(__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, 3831, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3831, __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, 3831, __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, 3831, __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, 3831, __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, 3831, __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, 3831, __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, 3831, __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_1193generator77(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3840
 *     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_1191genexpr(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, 3840, __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_1193generator77, ((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, 3840, __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_1193generator77(__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, 3840, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3840, __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, 3840, __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, 3840, __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, 3840, __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, 3840, __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, 3840, __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, 3840, __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_1196generator78(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3850
 *     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_1194genexpr(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, 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_1196generator78, ((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, 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_1196generator78(__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, 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_1199generator79(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3859
 *     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_1197genexpr(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, 3859, __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_1199generator79, ((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, 3859, __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_1199generator79(__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, 3859, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3859, __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, 3859, __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, 3859, __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, 3859, __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, 3859, __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, 3859, __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, 3859, __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_1202generator80(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3868
 *     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_1200genexpr(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, 3868, __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_1202generator80, ((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, 3868, __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_1202generator80(__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, 3868, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3868, __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, 3868, __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, 3868, __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, 3868, __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, 3868, __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, 3868, __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, 3868, __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_1205generator81(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3876
 *     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_1203genexpr(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, 3876, __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_1205generator81, ((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, 3876, __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_1205generator81(__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, 3876, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3876, __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, 3876, __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, 3876, __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, 3876, __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, 3876, __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, 3876, __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, 3876, __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_1208generator82(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3889
 *     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_1206genexpr(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, 3889, __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_1208generator82, ((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, 3889, __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_1208generator82(__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, 3889, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3889, __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, 3889, __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, 3889, __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, 3889, __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, 3889, __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, 3889, __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, 3889, __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_1211generator83(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3902
 *     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_1209genexpr(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, 3902, __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_1211generator83, ((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, 3902, __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_1211generator83(__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, 3902, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3902, __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, 3902, __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, 3902, __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, 3902, __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, 3902, __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, 3902, __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, 3902, __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_1214generator84(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3941
 *     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_1212genexpr(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, 3941, __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_1214generator84, ((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, 3941, __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_1214generator84(__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, 3941, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3941, __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, 3941, __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, 3941, __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, 3941, __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, 3941, __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, 3941, __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, 3941, __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_1217generator85(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":3990
 *     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_1215genexpr(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, 3990, __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_1217generator85, ((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, 3990, __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_1217generator85(__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, 3990, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 3990, __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, 3990, __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, 3990, __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, 3990, __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, 3990, __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, 3990, __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, 3990, __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_1220generator86(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4003
 *     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_1218genexpr(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, 4003, __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_1220generator86, ((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, 4003, __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_1220generator86(__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, 4003, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4003, __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, 4003, __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, 4003, __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, 4003, __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, 4003, __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, 4003, __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, 4003, __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_1223generator87(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4038
 *     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_1221genexpr(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, 4038, __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_1223generator87, ((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, 4038, __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_1223generator87(__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, 4038, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4038, __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, 4038, __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, 4038, __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, 4038, __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, 4038, __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, 4038, __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, 4038, __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_1226generator88(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4053
 *     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_1224genexpr(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, 4053, __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_1226generator88, ((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, 4053, __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_1226generator88(__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, 4053, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4053, __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, 4053, __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, 4053, __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, 4053, __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, 4053, __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, 4053, __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, 4053, __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_1229generator89(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4078
 *     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_1227genexpr(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, 4078, __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_1229generator89, ((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, 4078, __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_1229generator89(__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, 4078, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4078, __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, 4078, __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, 4078, __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, 4078, __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, 4078, __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, 4078, __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, 4078, __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_1232generator90(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4101
 *     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_1230genexpr(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, 4101, __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_1232generator90, ((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, 4101, __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_1232generator90(__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, 4101, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4101, __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, 4101, __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, 4101, __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, 4101, __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, 4101, __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, 4101, __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, 4101, __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_1235generator91(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4118
 *     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_1233genexpr(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, 4118, __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_1235generator91, ((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, 4118, __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_1235generator91(__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, 4118, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4118, __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, 4118, __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, 4118, __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, 4118, __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, 4118, __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, 4118, __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, 4118, __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_1238generator92(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4138
 *     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_1236genexpr(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, 4138, __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_1238generator92, ((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, 4138, __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_1238generator92(__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, 4138, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4138, __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, 4138, __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, 4138, __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, 4138, __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, 4138, __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, 4138, __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, 4138, __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_1241generator93(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4152
 *     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_1239genexpr(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, 4152, __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_1241generator93, ((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, 4152, __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_1241generator93(__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, 4152, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4152, __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, 4152, __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, 4152, __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, 4152, __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, 4152, __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, 4152, __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, 4152, __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_1244generator94(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4163
 *     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_1242genexpr(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, 4163, __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_1244generator94, ((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, 4163, __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_1244generator94(__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, 4163, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4163, __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, 4163, __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, 4163, __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, 4163, __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, 4163, __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, 4163, __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, 4163, __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_1247generator95(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4218
 *     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_1245genexpr(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, 4218, __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_1247generator95, ((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, 4218, __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_1247generator95(__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, 4218, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4218, __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, 4218, __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, 4218, __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, 4218, __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, 4218, __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, 4218, __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, 4218, __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_1250generator96(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4229
 *     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_1248genexpr(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, 4229, __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_1250generator96, ((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, 4229, __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_1250generator96(__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, 4229, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4229, __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, 4229, __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, 4229, __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, 4229, __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, 4229, __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, 4229, __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, 4229, __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_1253generator97(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4240
 *     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_1251genexpr(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, 4240, __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_1253generator97, ((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, 4240, __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_1253generator97(__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, 4240, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4240, __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, 4240, __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, 4240, __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, 4240, __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, 4240, __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, 4240, __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, 4240, __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_1256generator98(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4265
 *     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_1254genexpr(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, 4265, __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_1256generator98, ((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, 4265, __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_1256generator98(__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, 4265, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4265, __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, 4265, __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, 4265, __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, 4265, __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, 4265, __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, 4265, __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, 4265, __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_1259generator99(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4279
 *     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_1257genexpr(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, 4279, __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_1259generator99, ((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, 4279, __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_1259generator99(__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, 4279, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4279, __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, 4279, __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, 4279, __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, 4279, __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, 4279, __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, 4279, __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, 4279, __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_1262generator100(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4300
 *     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_1260genexpr(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, 4300, __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_1262generator100, ((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, 4300, __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_1262generator100(__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, 4300, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4300, __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, 4300, __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, 4300, __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, 4300, __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, 4300, __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, 4300, __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, 4300, __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_1265generator101(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4313
 *     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_1263genexpr(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, 4313, __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_1265generator101, ((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, 4313, __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_1265generator101(__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, 4313, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4313, __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, 4313, __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, 4313, __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, 4313, __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, 4313, __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, 4313, __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, 4313, __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_1268generator102(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4332
 *     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_1266genexpr(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, 4332, __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_1268generator102, ((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, 4332, __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_1268generator102(__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, 4332, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4332, __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, 4332, __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, 4332, __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, 4332, __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, 4332, __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, 4332, __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, 4332, __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_1271generator103(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4342
 *     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_1269genexpr(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, 4342, __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_1271generator103, ((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, 4342, __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_1271generator103(__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, 4342, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4342, __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, 4342, __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, 4342, __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, 4342, __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, 4342, __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, 4342, __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, 4342, __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_1274generator104(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4357
 *     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_1272genexpr(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, 4357, __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_1274generator104, ((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, 4357, __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_1274generator104(__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, 4357, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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_1277generator105(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4373
 *     CU_COREDUMP_GZIP_COMPRESS = cydriver.CUCoredumpGenerationFlags.CU_COREDUMP_GZIP_COMPRESS
 * 
 * _dict_CUCoredumpGenerationFlags = dict(((int(v), v) for k, v in CUCoredumpGenerationFlags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUgreenCtxCreate_flags(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_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, 4373, __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_1277generator105, ((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, 4373, __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_1277generator105(__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, 4373, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4373, __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, 4373, __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, 4373, __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, 4373, __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, 4373, __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, 4373, __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, 4373, __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_1280generator106(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4383
 *     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 CUdevSmResourceGroup_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_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, 4383, __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_1280generator106, ((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, 4383, __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_1280generator106(__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, 4383, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4383, __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, 4383, __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, 4383, __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, 4383, __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, 4383, __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, 4383, __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, 4383, __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_1283generator107(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4392
 *     CU_DEV_SM_RESOURCE_GROUP_BACKFILL = cydriver.CUdevSmResourceGroup_flags.CU_DEV_SM_RESOURCE_GROUP_BACKFILL
 * 
 * _dict_CUdevSmResourceGroup_flags = dict(((int(v), v) for k, v in CUdevSmResourceGroup_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevSmResourceSplitByCount_flags(IntEnum):
*/

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_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, 4392, __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_1283generator107, ((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, 4392, __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_1283generator107(__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, 4392, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4392, __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, 4392, __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, 4392, __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, 4392, __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, 4392, __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, 4392, __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, 4392, __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_1286generator108(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4401
 *     CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = cydriver.CUdevSmResourceSplitByCount_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE
 * 
 * _dict_CUdevSmResourceSplitByCount_flags = dict(((int(v), v) for k, v in CUdevSmResourceSplitByCount_flags.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(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_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, 4401, __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_1286generator108, ((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, 4401, __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_1286generator108(__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, 4401, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4401, __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, 4401, __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, 4401, __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, 4401, __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, 4401, __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, 4401, __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, 4401, __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_1289generator109(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4418
 *     CU_DEV_RESOURCE_TYPE_WORKQUEUE = cydriver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_WORKQUEUE
 * 
 * _dict_CUdevResourceType = dict(((int(v), v) for k, v in CUdevResourceType.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUdevWorkqueueConfigScope(IntEnum):
*/

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_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, 4418, __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_1289generator109, ((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, 4418, __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_1289generator109(__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, 4418, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4418, __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, 4418, __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, 4418, __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, 4418, __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, 4418, __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, 4418, __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, 4418, __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_1292generator110(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4433
 *     CU_WORKQUEUE_SCOPE_GREEN_CTX_BALANCED = cydriver.CUdevWorkqueueConfigScope.CU_WORKQUEUE_SCOPE_GREEN_CTX_BALANCED
 * 
 * _dict_CUdevWorkqueueConfigScope = dict(((int(v), v) for k, v in CUdevWorkqueueConfigScope.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUlogLevel(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1290genexpr(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, 4433, __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_1292generator110, ((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, 4433, __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_1292generator110(__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, 4433, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4433, __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, 4433, __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, 4433, __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, 4433, __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, 4433, __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, 4433, __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, 4433, __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_1295generator111(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4442
 *     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_1293genexpr(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, 4442, __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_1295generator111, ((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, 4442, __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_1295generator111(__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, 4442, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4442, __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, 4442, __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, 4442, __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, 4442, __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, 4442, __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, 4442, __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, 4442, __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_1298generator112(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4455
 *     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_1296genexpr(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, 4455, __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_1298generator112, ((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, 4455, __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_1298generator112(__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, 4455, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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_1301generator113(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4468
 *     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_1299genexpr(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, 4468, __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_1301generator113, ((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, 4468, __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_1301generator113(__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, 4468, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4468, __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, 4468, __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, 4468, __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, 4468, __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, 4468, __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, 4468, __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, 4468, __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_1304generator114(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4491
 *     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_1302genexpr(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, 4491, __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_1304generator114, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4491, __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_1304generator114(__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;
  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, 4491, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4491, __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, 4491, __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, 4491, __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, 4491, __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, 4491, __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, 4491, __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, 4491, __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_1307generator115(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4951
 *     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_1305genexpr(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, 4951, __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_1307generator115, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4951, __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_1307generator115(__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;
  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, 4951, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4951, __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, 4951, __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, 4951, __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, 4951, __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, 4951, __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, 4951, __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, 4951, __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_1310generator116(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4969
 *     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_1308genexpr(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, 4969, __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_1310generator116, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4969, __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_1310generator116(__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;
  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, 4969, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4969, __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, 4969, __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, 4969, __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, 4969, __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, 4969, __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, 4969, __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, 4969, __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_1313generator117(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":4979
 *     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_1311genexpr(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, 4979, __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_1313generator117, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 4979, __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_1313generator117(__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;
  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, 4979, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 4979, __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, 4979, __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, 4979, __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, 4979, __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, 4979, __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, 4979, __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, 4979, __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_1316generator118(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":5309
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAttrID(IntEnum):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1314genexpr(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, 5309, __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_1316generator118, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 5309, __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_1316generator118(__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;
  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, 5309, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 5309, __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, 5309, __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, 5309, __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, 5309, __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, 5309, __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, 5309, __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, 5309, __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_1319generator119(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":5506
 *     CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = cydriver.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING
 * 
 * _dict_CUlaunchAttributeID = dict(((int(v), v) for k, v in CUlaunchAttributeID.__members__.items()))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle:
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_1317genexpr(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, 5506, __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_1319generator119, ((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_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 5506, __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_1319generator119(__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;
  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, 5506, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(0, 5506, __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, 5506, __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, 5506, __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, 5506, __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, 5506, __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, 5506, __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, 5506, __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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_12 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[<size_t> 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 Py_ssize_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[<size_t> 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 Py_ssize_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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_11 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[<size_t> 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 Py_ssize_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[<size_t> 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 Py_ssize_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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_12 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_enum__CUaddress_mode_enum((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[<size_t> 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 Py_ssize_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_enum__CUaddress_mode_enum((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[<size_t> 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 Py_ssize_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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_12 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[<size_t> 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 Py_ssize_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 Py_ssize_t i
*/

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[<size_t> 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 Py_ssize_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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_12 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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 Py_ssize_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) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyList_SET_ITEM(l, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyList_SET_ITEM(l, i, value)
 *     return l
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[<size_t> 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 Py_ssize_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 Py_ssize_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) {
  Py_ssize_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;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_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 Py_ssize_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(length):
 *         value = v[<size_t> 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(length):             # <<<<<<<<<<<<<<
 *         value = v[<size_t> i]
 *         Py_INCREF(value)
*/
  __pyx_t_2 = __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(length):
 *         value = v[<size_t> i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
*/
    __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG((__pyx_v_v[((size_t)__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(length):
 *         value = v[<size_t> i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         __Pyx_PyTuple_SET_ITEM(t, i, value)
 *     return t
*/
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[<size_t> 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 Py_ssize_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(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), ((PyObject *)(((PyTypeObject*)PyExc_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_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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 = __pyx_k_too_many_values_found_during_arr;
  } else {
    __pyx_t_12 = __pyx_k_not_enough_values_found_during_a;
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
*/
  __pyx_t_7 = PyErr_Format(((PyObject *)(((PyTypeObject*)PyExc_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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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<CUatomicOperation>  __pyx_convert_vector_from_py_CUatomicOperation(PyObject *__pyx_v_o) {
  std::vector<CUatomicOperation>  __pyx_v_v;
  Py_ssize_t __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUatomicOperation>  __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;
  CUatomicOperation __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUatomicOperation", 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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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 CUatomicOperation_enum)__Pyx_PyLong_As_enum__CUatomicOperation_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 61, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUatomicOperation)__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_CUatomicOperation")             # <<<<<<<<<<<<<<
 * cdef vector[X] __pyx_convert_vector_from_py_CUatomicOperation(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_CUatomicOperation", __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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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)-1L))) __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_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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":14
 * 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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_callocWrapper", 0);

  /* "cuda/bindings/_lib/utils.pxi":15
 * 
 * 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, 15, __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, 15, __pyx_L1_error)
  __pyx_v_out = calloc(__pyx_t_1, __pyx_t_2);

  /* "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))
 *     return out
*/
  __pyx_t_3 = (__pyx_v_out == NULL);
  if (unlikely(__pyx_t_3)) {

    /* "cuda/bindings/_lib/utils.pxi":17
 *     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_t_7 = __pyx_mstate_global->__pyx_kp_u_Failed_to_allocated_length_x_siz;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_2 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_length, __pyx_v_size};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_2 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17, __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, 17, __pyx_L1_error)

    /* "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))
 *     return out
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":18
 *     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":14
 * 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_AddTraceback("cuda.bindings.driver._callocWrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/_lib/utils.pxi":40
 *     }
 * 
 *     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, 40, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 40, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40, __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, 40, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      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, 40, __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, 40, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40, __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, 40, __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((PyObject*)__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, 40, __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":42
 *     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, 42, __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, 42, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42, __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, 42, __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, 42, __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, 42, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_6;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  void *__pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *(*__pyx_t_13)(PyObject *);
  PyObject *__pyx_t_14 = NULL;
  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;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_20;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":43
 * 
 *     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":44
 *     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":45
 *         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":46
 *         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":45
 *         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":47
 *         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":49
 *         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, 49, __pyx_L1_error)
    __pyx_v_self->_ckernelParams = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

    /* "cuda/bindings/_lib/utils.pxi":47
 *         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":50
 *             # 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":52
 *         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, 52, __pyx_L1_error)
    __pyx_v_err_buffer = __pyx_t_3;

    /* "cuda/bindings/_lib/utils.pxi":53
 *             # 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":54
 *             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_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_failed_to};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 54, __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, 54, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":53
 *             # 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":55
 *             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":56
 *                 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":50
 *             # 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":57
 *             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_7 = PyTuple_Check(__pyx_v_kernelParams); 
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_8 = PyObject_Length(__pyx_v_kernelParams); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(1, 57, __pyx_L1_error)
  __pyx_t_7 = (__pyx_t_8 == 2);
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = PyTuple_Check(__pyx_t_4); 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_7) {
  } else {
    __pyx_t_1 = __pyx_t_7;
    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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = PyTuple_Check(__pyx_t_4); 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_t_7;
  __pyx_L5_bool_binop_done:;
  if (likely(__pyx_t_1)) {

    /* "cuda/bindings/_lib/utils.pxi":59
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(1, 59, __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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 59, __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, 59, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_8 != __pyx_t_9);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/_lib/utils.pxi":60
 *             # 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_5 = NULL;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_has_tuples};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __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, 60, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":59
 *         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":61
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 61, __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, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = (__pyx_t_9 != 0);
    if (__pyx_t_1) {

      /* "cuda/bindings/_lib/utils.pxi":62
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 62, __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, 62, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_self->_length = __pyx_t_9;

      /* "cuda/bindings/_lib/utils.pxi":63
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __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, 63, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __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, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_t_4, __pyx_t_5); if (unlikely(__pyx_t_10 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(1, 63, __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_10);

      /* "cuda/bindings/_lib/utils.pxi":64
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 64, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 64, __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, 64, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_f_4cuda_8bindings_6driver__callocWrapper(__pyx_t_5, __pyx_t_4); if (unlikely(__pyx_t_10 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(1, 64, __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_10);

      /* "cuda/bindings/_lib/utils.pxi":65
 *                 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":61
 *             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":67
 *                 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":68
 * 
 *             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":69
 *             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_t_11 = __Pyx_GetItemInt(__pyx_v_kernelParams, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_kernelParams, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_11, __pyx_t_12};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __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_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 69, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
      __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12);
      __pyx_t_9 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 69, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 69, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_12))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_12);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 69, __pyx_L1_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_12, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_12);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 69, __pyx_L1_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_12, __pyx_t_9));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_12, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 69, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_13(__pyx_t_12);
        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, 69, __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, 69, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_11);
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_5);
        } else {
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 69, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_11);
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 69, __pyx_L1_error)
          __Pyx_XGOTREF(__pyx_t_5);
        }
        #else
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 69, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 69, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_14 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 69, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_14);
        index = 0; __pyx_t_11 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_11)) goto __pyx_L13_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        index = 1; __pyx_t_5 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_5)) goto __pyx_L13_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 2) < (0)) __PYX_ERR(1, 69, __pyx_L1_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L14_unpacking_done;
        __pyx_L13_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 69, __pyx_L1_error)
        __pyx_L14_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_11);
      __pyx_t_11 = 0;
      __Pyx_XDECREF_SET(__pyx_v_ctype, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "cuda/bindings/_lib/utils.pxi":70
 *             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":72
 *                 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, 72, __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, 72, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (__pyx_t_1) {

          /* "cuda/bindings/_lib/utils.pxi":73
 *                     # 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_5 = __pyx_v_value;
          __Pyx_INCREF(__pyx_t_5);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_4)) __PYX_ERR(1, 73, __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, 73, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 73, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_8]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

          /* "cuda/bindings/_lib/utils.pxi":72
 *                 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":74
 *                     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, 74, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Structure); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 74, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_5); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 74, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (__pyx_t_1) {

          /* "cuda/bindings/_lib/utils.pxi":75
 *                         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_11, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 75, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 75, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14);
            assert(__pyx_t_4);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_14);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_14, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
            __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_14, __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_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 75, __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, 75, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 75, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_8]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

          /* "cuda/bindings/_lib/utils.pxi":74
 *                     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":76
 *                     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_5, __pyx_mstate_global->__pyx_n_u_Enum); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 76, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_5); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(1, 76, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (likely(__pyx_t_1)) {

          /* "cuda/bindings/_lib/utils.pxi":77
 *                         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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 77, __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, 77, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_8]));

          /* "cuda/bindings/_lib/utils.pxi":78
 *                     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_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 78, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 78, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 78, __pyx_L1_error)
          (((int *)(__pyx_v_self->_ckernelParams[__pyx_t_8]))[0]) = __pyx_t_3;

          /* "cuda/bindings/_lib/utils.pxi":79
 *                         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_5 = __Pyx_PyLong_FromSize_t((sizeof(int))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 79, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 79, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_14);
          __pyx_t_14 = 0;

          /* "cuda/bindings/_lib/utils.pxi":76
 *                     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":81
 *                         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_5 = NULL;
          __pyx_t_11 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but;
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 81, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_17);
          __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_Structure); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 81, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 81, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_17);
          __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 81, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_19);
          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[4] = {__pyx_t_11, ((PyObject *)Py_TYPE(__pyx_v_value)), ((PyObject *)Py_TYPE(__pyx_t_18)), ((PyObject *)Py_TYPE(__pyx_t_19))};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
            __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 81, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_6 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
            __pyx_t_14 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 81, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
          }
          __Pyx_Raise(__pyx_t_14, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __PYX_ERR(1, 81, __pyx_L1_error)
        }
        __pyx_L16:;

        /* "cuda/bindings/_lib/utils.pxi":70
 *             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":82
 *                     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_14 = __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_14)) __PYX_ERR(1, 82, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_ctype, __pyx_t_14, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 82, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (__pyx_t_1) {

        /* "cuda/bindings/_lib/utils.pxi":83
 *                         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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 83, __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, 83, __pyx_L1_error)
        (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_8]));

        /* "cuda/bindings/_lib/utils.pxi":86
 * 
 *                     # 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_14, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_c_double); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_14 = PyObject_RichCompare(__pyx_v_ctype, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (__pyx_t_7) {
        } else {
          __pyx_t_1 = __pyx_t_7;
          goto __pyx_L18_bool_binop_done;
        }
        __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_c_float); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_7 = PyObject_IsInstance(__pyx_v_value, __pyx_t_4); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 86, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = __pyx_t_7;
        __pyx_L18_bool_binop_done:;
        if (__pyx_t_1) {

          /* "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
 *                         size = param_packer.feed(self._ckernelParams[idx], value, ctype)
*/
          __pyx_t_14 = NULL;
          __Pyx_INCREF(__pyx_v_ctype);
          __pyx_t_5 = __pyx_v_ctype; 
          __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 87, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_19);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_14);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_14);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_19};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 87, __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":86
 * 
 *                     # 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":88
 *                     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, 88, __pyx_L1_error)
        __pyx_t_7 = (!__pyx_t_1);
        if (__pyx_t_7) {

          /* "cuda/bindings/_lib/utils.pxi":89
 *                         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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 89, __pyx_L1_error)
          __pyx_t_4 = __Pyx_PyLong_From_int(feed((__pyx_v_self->_ckernelParams[__pyx_t_8]), __pyx_v_value, __pyx_v_ctype)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 89, __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":90
 *                     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_7 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_size, __pyx_mstate_global->__pyx_int_0, 0, 0)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 90, __pyx_L1_error)
          if (__pyx_t_7) {

            /* "cuda/bindings/_lib/utils.pxi":91
 *                         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_5 = NULL;
            __Pyx_INCREF(__pyx_v_ctype);
            __pyx_t_19 = __pyx_v_ctype; 
            __pyx_t_6 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_19))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19);
              assert(__pyx_t_5);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_19);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_19, __pyx__function);
              __pyx_t_6 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_value};
              __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_19, __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_19); __pyx_t_19 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 91, __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":92
 *                         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_19 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 92, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 92, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_6 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_14);
              assert(__pyx_t_19);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_19);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_14, __pyx__function);
              __pyx_t_6 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_19, __pyx_v_ctype};
              __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_14, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 92, __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":93
 *                             value = ctype(value)
 *                             size = _ctypes.sizeof(ctype)
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))             # <<<<<<<<<<<<<<
 *                             memcpy(self._ckernelParams[idx], addr, size)
 *                     else:
*/
            __pyx_t_14 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 93, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_19);
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 93, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
            __pyx_t_6 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
              assert(__pyx_t_14);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
              __pyx_t_6 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_v_value};
              __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 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_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, 93, __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":94
 *                             size = _ctypes.sizeof(ctype)
 *                             addr = <void*>(<void_ptr>_ctypes.addressof(value))
 *                             memcpy(self._ckernelParams[idx], addr, size)             # <<<<<<<<<<<<<<
 *                     else:
 *                         size = _ctypes.sizeof(ctype)
*/
            __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 94, __pyx_L1_error)
            __pyx_t_6 = __Pyx_PyLong_As_size_t(__pyx_v_size); if (unlikely((__pyx_t_6 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 94, __pyx_L1_error)
            (void)(memcpy((__pyx_v_self->_ckernelParams[__pyx_t_8]), __pyx_v_addr, __pyx_t_6));

            /* "cuda/bindings/_lib/utils.pxi":90
 *                     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":88
 *                     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":96
 *                             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_5 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_sizeof); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 96, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_19);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_19))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19);
            assert(__pyx_t_5);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_19);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_19, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_ctype};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_19, __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_19); __pyx_t_19 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 96, __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":97
 *                     else:
 *                         size = _ctypes.sizeof(ctype)
 *                         addr = <void*>(<void_ptr>_ctypes.addressof(value))             # <<<<<<<<<<<<<<
 *                         memcpy(self._ckernelParams[idx], addr, size)
 *                     data_idx += size
*/
          __pyx_t_19 = 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_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_addressof); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 97, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_14);
            assert(__pyx_t_19);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_14);
            __Pyx_INCREF(__pyx_t_19);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_14, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_19, __pyx_v_value};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_14, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 97, __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, 97, __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":98
 *                         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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 98, __pyx_L1_error)
          __pyx_t_6 = __Pyx_PyLong_As_size_t(__pyx_v_size); if (unlikely((__pyx_t_6 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 98, __pyx_L1_error)
          (void)(memcpy((__pyx_v_self->_ckernelParams[__pyx_t_8]), __pyx_v_addr, __pyx_t_6));
        }
        __pyx_L20:;

        /* "cuda/bindings/_lib/utils.pxi":99
 *                         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, 99, __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":82
 *                     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":100
 *                         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, 100, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 100, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_ctype, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 100, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 100, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (likely(__pyx_t_7)) {

        /* "cuda/bindings/_lib/utils.pxi":102
 *                 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, 102, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 102, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_1 = PyLong_Check(__pyx_v_value); 
        if (!__pyx_t_1) {
        } else {
          __pyx_t_7 = __pyx_t_1;
          goto __pyx_L23_bool_binop_done;
        }
        __pyx_t_1 = PyObject_IsInstance(__pyx_v_value, __pyx_t_14); 
        __pyx_t_7 = __pyx_t_1;
        __pyx_L23_bool_binop_done:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (__pyx_t_7) {

          /* "cuda/bindings/_lib/utils.pxi":103
 *                     # 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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 103, __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, 103, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_8]));

          /* "cuda/bindings/_lib/utils.pxi":104
 *                     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_14, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 104, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 104, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_7 = PyObject_IsInstance(__pyx_v_value, __pyx_t_4); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 104, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (__pyx_t_7) {
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 104, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_20 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_20 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 104, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_2 = __pyx_t_20;
          } else {
            __pyx_t_20 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_value); if (unlikely((__pyx_t_20 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 104, __pyx_L1_error)
            __pyx_t_2 = __pyx_t_20;
          }
          __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 104, __pyx_L1_error)
          (((__pyx_t_4cuda_8bindings_6driver_void_ptr *)(__pyx_v_self->_ckernelParams[__pyx_t_8]))[0]) = __pyx_t_2;

          /* "cuda/bindings/_lib/utils.pxi":105
 *                         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, 105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_14);
          __pyx_t_14 = 0;

          /* "cuda/bindings/_lib/utils.pxi":102
 *                 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":106
 *                         (<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_14 = __Pyx_GetAttr3(__pyx_v_value, __pyx_mstate_global->__pyx_n_u_getPtr, Py_None); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 106, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_7 = __Pyx_PyCallable_Check(__pyx_t_14); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 106, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (likely(__pyx_t_7)) {

          /* "cuda/bindings/_lib/utils.pxi":107
 *                         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_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_data_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 107, __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, 107, __pyx_L1_error)
          (__pyx_v_self->_ckernelParams[__pyx_t_16]) = (&(__pyx_v_self->_ckernelParamsData[__pyx_t_8]));

          /* "cuda/bindings/_lib/utils.pxi":108
 *                     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_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
            __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 108, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
          }
          __pyx_t_2 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_14); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 108, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 108, __pyx_L1_error)
          (((__pyx_t_4cuda_8bindings_6driver_void_ptr *)(__pyx_v_self->_ckernelParams[__pyx_t_8]))[0]) = __pyx_t_2;

          /* "cuda/bindings/_lib/utils.pxi":109
 *                         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_14 = __Pyx_PyLong_FromSize_t((sizeof(__pyx_t_4cuda_8bindings_6driver_void_ptr))); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 109, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_data_idx, __pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 109, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF_SET(__pyx_v_data_idx, __pyx_t_4);
          __pyx_t_4 = 0;

          /* "cuda/bindings/_lib/utils.pxi":106
 *                         (<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":111
 *                         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_14 = NULL;
          __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but;
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_ctypes); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 111, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_c_void_p); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 111, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[4] = {__pyx_t_5, ((PyObject *)Py_TYPE(__pyx_v_value)), ((PyObject *)Py_TYPE(((PyObject *)(&PyLong_Type)))), ((PyObject *)Py_TYPE(__pyx_t_11))};
            __pyx_t_19 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
            if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 111, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_19);
          }
          __pyx_t_6 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_19};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 111, __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, 111, __pyx_L1_error)
        }
        __pyx_L22:;

        /* "cuda/bindings/_lib/utils.pxi":100
 *                         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":113
 *                         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_19 = NULL;
        __pyx_t_14 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_ctype))); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 113, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 113, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_6 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_19, __pyx_t_11};
          __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 113, __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, 113, __pyx_L1_error)
      }
      __pyx_L15:;

      /* "cuda/bindings/_lib/utils.pxi":114
 *                 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, 114, __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":69
 *             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_12); __pyx_t_12 = 0;

    /* "cuda/bindings/_lib/utils.pxi":57
 *             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":116
 *                 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_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Argument_kernelParams_is_not_a_v};
      __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 116, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
    }
    __Pyx_Raise(__pyx_t_12, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __PYX_ERR(1, 116, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/_lib/utils.pxi":42
 *     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_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __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":118
 *             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":119
 * 
 *     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":120
 *     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":119
 * 
 *     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":121
 *         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":122
 *             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":123
 *         if self._malloc_list_created is True:
 *             free(self._ckernelParams)
 *             free(self._ckernelParamsData)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
    free(__pyx_v_self->_ckernelParamsData);

    /* "cuda/bindings/_lib/utils.pxi":121
 *         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":118
 *             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":125
 *             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":127
 *     @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, 127, __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":125
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":130
 * 
 * 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, 130, __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, 130, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 130, __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, 130, __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, 130, __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, 130, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_6;
  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("__cinit__", 0);

  /* "cuda/bindings/_lib/utils.pxi":131
 * 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":132
 *     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":133
 *         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":132
 *     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":134
 *         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":136
 *         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, 136, __pyx_L1_error)
    __pyx_v_self->_cptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_2));

    /* "cuda/bindings/_lib/utils.pxi":134
 *         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":137
 *             # 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, 137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CUdeviceptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 137, __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, 137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/_lib/utils.pxi":138
 *             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, 138, __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, 138, __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":137
 *             # 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":139
 *         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":141
 *         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, 141, __pyx_L1_error)
    __pyx_v_err_buffer = __pyx_t_5;

    /* "cuda/bindings/_lib/utils.pxi":142
 *             # 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":143
 *             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_t_6 = 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((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 143, __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, 143, __pyx_L1_error)

      /* "cuda/bindings/_lib/utils.pxi":142
 *             # 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":144
 *             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":145
 *                 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":139
 *         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":147
 *             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_3 = NULL;
    __pyx_t_8 = __pyx_mstate_global->__pyx_kp_u_Provided_argument_is_of_type_but_2;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[4] = {__pyx_t_8, ((PyObject *)Py_TYPE(__pyx_v_ptr)), ((PyObject *)Py_TYPE(Py_None)), ((PyObject *)Py_TYPE(((PyObject *)(&PyLong_Type))))};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 147, __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, 147, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/_lib/utils.pxi":130
 * 
 * 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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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":149
 *             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":150
 * 
 *     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":151
 *     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":150
 * 
 *     def __dealloc__(self):
 *         if self._pyobj_acquired is True:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self._pybuffer)
 * 
*/
  }

  /* "cuda/bindings/_lib/utils.pxi":149
 *             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":153
 *             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":155
 *     @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, 155, __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":153
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":158
 * 
 * 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, 158, __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, 158, __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, 158, __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, 158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 158, __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, 158, __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, 158, __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, 158, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 158, __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, 158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "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
 *         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, 159, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":160
 *     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, 160, __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, 160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":161
 *         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":162
 *         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":164
 *                           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, 164, __pyx_L1_error)
    __pyx_v_self->_int_val = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":165
 *                           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":161
 *         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":166
 *             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":167
 *             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":168
 *         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":169
 *                             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":171
 *                             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":172
 *                             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, 172, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_cuuint64_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 172, __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((PyObject*)__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, 172, __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, 172, __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":173
 *             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((PyObject*)__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, 173, __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, 173, __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":171
 *                             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":175
 *                 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((PyObject*)__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, 175, __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, 175, __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":166
 *             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":177
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_7 = NULL;
    __pyx_t_6 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 177, __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, 177, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":158
 * 
 * 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_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":179
 *             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":182
 *         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":184
 *     @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, 184, __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":182
 *         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":186
 *         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;
  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":187
 * 
 *     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(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(1, 187, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 187, __pyx_L1_error)
  #endif

  /* "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,
 *                           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":189
 *         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":191
 *                           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, 191, __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":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,
 *                           cydriver.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,):
*/
    break;
    case CU_MEMPOOL_ATTR_RELEASE_THRESHOLD:

    /* "cuda/bindings/_lib/utils.pxi":192
 *                           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":193
 *             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":194
 *         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":195
 *                             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":197
 *                             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":192
 *                           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":199
 *             return self._cuuint64_t_val
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUmem_range_attribute:
*/
    __pyx_t_3 = NULL;
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_enum__CUmemPool_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 199, __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((PyObject*)__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, 199, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 199, __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, 199, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":186
 *         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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":202
 * 
 * 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, 202, __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, 202, __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, 202, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 202, __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, 202, __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, 202, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 202, __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, 202, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "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
 *         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, 203, __pyx_L1_error)
  __pyx_v_self->_data_size = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":204
 *     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, 204, __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, 204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":205
 *         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":206
 *         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":208
 *                           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":205
 *         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":210
 *             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, 210, __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 *)NULL) && PyErr_Occurred())) __PYX_ERR(1, 210, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_self->_cptr = __pyx_t_4;

    /* "cuda/bindings/_lib/utils.pxi":211
 *         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":209
 *                           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":213
 *             self._int_val_list = <int*>self._cptr
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_5 = NULL;
    __pyx_t_7 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_1 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 213, __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, 213, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":202
 * 
 * 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_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":215
 *             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":216
 * 
 *     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":217
 *     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":216
 * 
 *     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":215
 *             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":219
 *             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":221
 *     @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, 221, __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":219
 *             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":223
 *         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;
  size_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pyObj", 0);

  /* "cuda/bindings/_lib/utils.pxi":224
 * 
 *     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":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,):
 *             return self._int_val
*/
    case CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION:

    /* "cuda/bindings/_lib/utils.pxi":227
 *                           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, 227, __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":224
 * 
 *     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":229
 *             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, 229, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = NULL;
      __pyx_t_4 = PyLong_FromDouble((((double)__pyx_v_self->_data_size) / 4.0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 229, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 229, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 229, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 229, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      for (;;) {
        {
          __pyx_t_2 = __pyx_t_6(__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, 229, __pyx_L5_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_2);
        if (__Pyx_PyInt_FromNumber(&__pyx_t_2, NULL, 1) < (0)) __PYX_ERR(1, 229, __pyx_L5_error)
        __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_idx, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;
        __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_7genexpr__pyx_v_idx); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 229, __pyx_L5_error)
        __pyx_t_2 = __Pyx_PyLong_From_int((__pyx_v_self->_int_val_list[__pyx_t_7])); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 229, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 229, __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":228
 *                           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":231
 *             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_t_3 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyLong_From_enum__CUmem_range_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 231, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_1)) __PYX_ERR(1, 231, __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, 231, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":223
 *         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_8);
  __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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":234
 * 
 * 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, 234, __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, 234, __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, 234, __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, 234, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 234, __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, 234, __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, 234, __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, 234, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 234, __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, 234, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "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
 *         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, 235, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":236
 *     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, 236, __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, 236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":237
 *         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":238
 *         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":239
 *         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, 239, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CUcontext); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 239, __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((PyObject*)__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, 239, __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, 239, __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":240
 *             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((PyObject*)__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, 240, __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, 240, __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":238
 *         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":242
 *                 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((PyObject*)__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, 242, __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, 242, __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":237
 *         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":243
 *             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":244
 *                 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":245
 *         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":246
 *                             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":248
 *                             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, 248, __pyx_L1_error)
    __pyx_v_self->_uint = __pyx_t_9;

    /* "cuda/bindings/_lib/utils.pxi":249
 *                             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":243
 *             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":250
 *             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":252
 *         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":253
 *                             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, 253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUdeviceptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 253, __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((PyObject*)__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, 253, __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, 253, __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":254
 *             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((PyObject*)__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, 254, __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, 254, __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":252
 *         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":256
 *                 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((PyObject*)__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, 256, __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, 256, __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":250
 *             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":258
 *                 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, 258, __pyx_L1_error)
    __pyx_v_self->_void = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

    /* "cuda/bindings/_lib/utils.pxi":259
 *         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":257
 *             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":261
 *             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":262
 *         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, 262, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 262, __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((PyObject*)__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, 262, __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, 262, __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":263
 *             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((PyObject*)__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, 263, __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, 263, __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":261
 *             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":265
 *                 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((PyObject*)__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, 265, __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, 265, __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":260
 *             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":266
 *             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":267
 *                 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":268
 *         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":270
 *                             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, 270, __pyx_L1_error)
    __pyx_v_self->_bool = __pyx_t_1;

    /* "cuda/bindings/_lib/utils.pxi":271
 *                             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":266
 *             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":273
 *             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, 273, __pyx_L1_error)
    __pyx_v_self->_ull = __pyx_t_10;

    /* "cuda/bindings/_lib/utils.pxi":274
 *         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":272
 *             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":276
 *             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, 276, __pyx_L1_error)
    __pyx_v_self->_size = __pyx_t_7;

    /* "cuda/bindings/_lib/utils.pxi":277
 *         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":275
 *             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":279
 *             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":280
 *         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, 280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_CUmemoryPool); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 280, __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((PyObject*)__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, 280, __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, 280, __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":281
 *             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((PyObject*)__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, 281, __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, 281, __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":279
 *             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":283
 *                 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((PyObject*)__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, 283, __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, 283, __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":278
 *             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":285
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_6 = NULL;
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_11};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 285, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 285, __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, 285, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":234
 * 
 * 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_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":287
 *             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":290
 *         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":292
 *     @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, 292, __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":290
 *         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":294
 *         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;
  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":295
 * 
 *     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(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(1, 295, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 295, __pyx_L1_error)
  #endif

  /* "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
 *         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":297
 *         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":296
 *     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":298
 *         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":299
 *             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":300
 *         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":301
 *                             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":303
 *                             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, 303, __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":298
 *         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":304
 *                             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":306
 *         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":304
 *                             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":308
 *             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, 308, __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":307
 *                             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":310
 *             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":309
 *         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":311
 *         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":312
 *             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":313
 *         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":315
 *                             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, 315, __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":311
 *         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":317
 *             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, 317, __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":316
 *                             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":319
 *             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, 319, __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":318
 *         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":321
 *             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":320
 *         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":323
 *             return self._mempool
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUgraphMem_attribute:
*/
    __pyx_t_3 = NULL;
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_enum__CUpointer_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 323, __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((PyObject*)__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, 323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 323, __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, 323, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":294
 *         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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":326
 * 
 * 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, 326, __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, 326, __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, 326, __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, 326, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 326, __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, 326, __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, 326, __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, 326, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 326, __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, 326, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "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
 *         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, 327, __pyx_L1_error)
  __pyx_v_self->_is_getter = __pyx_t_1;

  /* "cuda/bindings/_lib/utils.pxi":328
 *     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, 328, __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, 328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_self->_attr = __pyx_t_3;

  /* "cuda/bindings/_lib/utils.pxi":329
 *         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":330
 *         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":331
 *         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":333
 *                           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":334
 *                           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, 334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_cuuint64_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 334, __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((PyObject*)__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, 334, __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, 334, __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":335
 *             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((PyObject*)__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, 335, __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, 335, __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":333
 *                           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":337
 *                 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((PyObject*)__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, 337, __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, 337, __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":329
 *         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":339
 *                 self._cptr = <void*><void_ptr>init_value.getPtr()
 *         else:
 *             raise TypeError('Unsupported attribute: {}'.format(attr.name))             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
    __pyx_t_6 = NULL;
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 339, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 339, __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, 339, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":326
 * 
 * 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_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":341
 *             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":344
 *         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":346
 *     @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, 346, __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":344
 *         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":348
 *         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;
  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":349
 * 
 *     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(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(1, 349, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(1, 349, __pyx_L1_error)
  #endif

  /* "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,
 *                           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":351
 *         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":352
 *         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":354
 *                           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":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,
 *                           cydriver.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
*/
    break;
    default:

    /* "cuda/bindings/_lib/utils.pxi":356
 *             return self._cuuint64_t_val
 *         else:
 *             raise TypeError('Unsupported attribute value: {}'.format(self._attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class _HelperCUjit_option:
*/
    __pyx_t_3 = NULL;
    __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_enum__CUgraphMem_attribute_enum(__pyx_v_self->_attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 356, __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((PyObject*)__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, 356, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 356, __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, 356, __pyx_L1_error)
    break;
  }

  /* "cuda/bindings/_lib/utils.pxi":348
 *         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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":359
 * 
 * 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, 359, __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, 359, __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, 359, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 359, __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, 359, __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, 359, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 359, __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, 359, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_16;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_17;
  PyObject *__pyx_t_18 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "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,
 *                           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, 360, __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, 360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->_attr = __pyx_t_2;

  /* "cuda/bindings/_lib/utils.pxi":361
 *     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":362
 *         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":363
 *         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":364
 *                           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":365
 *                           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":366
 *                           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":367
 *                           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":368
 *                           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":369
 *                           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,
 *                           cydriver.CUjit_option_enum.CU_JIT_SPLIT_COMPILE,):
*/
    case CU_JIT_MIN_CTA_PER_SM:

    /* "cuda/bindings/_lib/utils.pxi":370
 *                           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,             # <<<<<<<<<<<<<<
 *                           cydriver.CUjit_option_enum.CU_JIT_SPLIT_COMPILE,):
 *             self._uint = init_value
*/
    case CU_JIT_SPLIT_COMPILE:

    /* "cuda/bindings/_lib/utils.pxi":372
 *                           cydriver.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM,
 *                           cydriver.CUjit_option_enum.CU_JIT_SPLIT_COMPILE,):
 *             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_SPLIT_COMPILE,):
 *             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":361
 *     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_GetItemRefFast(__pyx_t_11, __pyx_t_12, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__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_t_16 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_8genexpr1__pyx_v_val};
          __pyx_t_14 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (__pyx_t_16*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 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_t_16 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_pylist};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (__pyx_t_16*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 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_17 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_17 == (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_17));

    /* "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_11 = NULL;
    __pyx_t_15 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_15);
    __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);
    __pyx_t_16 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_t_18};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __pyx_t_16 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_14};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_16, (2-__pyx_t_16) | (__pyx_t_16*__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, 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":359
 * 
 * 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_18);
  __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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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;
  size_t __pyx_t_13;
  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_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, 453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_13 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_12};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (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_10)) __PYX_ERR(1, 453, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __pyx_t_13 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (__pyx_t_13*__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_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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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;
  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((PyObject*)__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_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, 473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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;
  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((PyObject*)__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_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, 493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 493, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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;
  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_Dict_GetItem(__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((PyObject*)__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((PyObject*)__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_t_4 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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(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_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;
  size_t __pyx_t_6;
  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_t_4 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_enum__CUmemAllocationHandleType_enum(__pyx_v_self->_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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 *)NULL) && 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, __Pyx_ReferenceSharing_FunctionArgument); 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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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;
  size_t __pyx_t_11;
  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 *)NULL) && 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_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, 581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
      __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (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, 581, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_11 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 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_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;
  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":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(((PyObject *)(((PyTypeObject*)PyExc_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_t_5 = __pyx_mstate_global->__pyx_kp_u_Unsupported_attribute_value;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_enum__CUcoredumpSettings_enum(__pyx_v_self->_attrib); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 604, __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((PyObject*)__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, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":4992
 * 
 *     """
 *     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, 4992, __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, 4992, __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, 4992, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 4992, __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, 4992, __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, 4992, __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, 4992, __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, 4992, __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, 4992, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":4993
 *     """
 *     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":4994
 *     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":4993
 *     """
 *     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":4996
 *             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":4997
 *         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":4998
 *             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":4997
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":4992
 * 
 *     """
 *     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":4999
 *         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":5001
 *     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":5002
 *         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((PyObject*)__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, 5002, __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, 5002, __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, 5002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5002, __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":5001
 *     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":5003
 *     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":5004
 *         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, 5004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5003
 *     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":5005
 *     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":5006
 *         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, 5006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5005
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5019
 * 
 *     """
 *     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, 5019, __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, 5019, __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, 5019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5019, __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, 5019, __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, 5019, __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, 5019, __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, 5019, __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, 5019, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5020
 *     """
 *     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":5021
 *     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":5020
 *     """
 *     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":5023
 *             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":5024
 *         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":5025
 *             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":5024
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5019
 * 
 *     """
 *     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":5026
 *         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":5028
 *     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":5029
 *         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((PyObject*)__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, 5029, __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, 5029, __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, 5029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5029, __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":5028
 *     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":5030
 *     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":5031
 *         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, 5031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5030
 *     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":5032
 *     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":5033
 *         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, 5033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5032
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5046
 * 
 *     """
 *     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, 5046, __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, 5046, __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, 5046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5046, __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, 5046, __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, 5046, __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, 5046, __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, 5046, __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, 5046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5047
 *     """
 *     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":5048
 *     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":5047
 *     """
 *     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":5050
 *             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":5051
 *         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":5052
 *             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":5051
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5046
 * 
 *     """
 *     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":5053
 *         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":5055
 *     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":5056
 *         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((PyObject*)__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, 5056, __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, 5056, __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, 5056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5056, __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":5055
 *     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":5057
 *     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":5058
 *         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, 5058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5057
 *     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":5059
 *     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":5060
 *         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, 5060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5059
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5073
 * 
 *     """
 *     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, 5073, __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, 5073, __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, 5073, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5073, __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, 5073, __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, 5073, __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, 5073, __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, 5073, __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, 5073, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5074
 *     """
 *     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":5075
 *     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":5074
 *     """
 *     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":5077
 *             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":5078
 *         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":5079
 *             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":5078
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5073
 * 
 *     """
 *     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":5080
 *         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":5082
 *     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":5083
 *         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((PyObject*)__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, 5083, __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, 5083, __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, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5083, __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":5082
 *     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":5084
 *     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":5085
 *         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, 5085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5084
 *     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":5086
 *     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":5087
 *         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, 5087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5086
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5098
 * 
 *     """
 *     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, 5098, __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, 5098, __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, 5098, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5098, __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, 5098, __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, 5098, __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, 5098, __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, 5098, __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, 5098, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5099
 *     """
 *     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":5100
 *     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":5099
 *     """
 *     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":5102
 *             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":5103
 *         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":5104
 *             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":5103
 *         else:
 *             self._pvt_ptr = <cydriver.CUgraphConditionalHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5098
 * 
 *     """
 *     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":5105
 *         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":5107
 *     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":5108
 *         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((PyObject*)__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, 5108, __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, 5108, __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, 5108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5108, __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":5107
 *     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":5109
 *     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":5110
 *         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, 5110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5109
 *     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":5111
 *     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":5112
 *         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, 5112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5111
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5517
 * 
 *     """
 *     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, 5517, __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, 5517, __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, 5517, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5517, __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, 5517, __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, 5517, __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, 5517, __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, 5517, __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, 5517, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5518
 *     """
 *     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":5519
 *     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":5518
 *     """
 *     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":5521
 *             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":5522
 *         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":5523
 *             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":5522
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":5517
 * 
 *     """
 *     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":5524
 *         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":5526
 *     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":5527
 *         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((PyObject*)__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, 5527, __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, 5527, __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, 5527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5527, __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":5526
 *     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":5528
 *     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":5529
 *         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, 5529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5528
 *     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":5530
 *     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":5531
 *         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, 5531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5530
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5544
 * 
 *     """
 *     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, 5544, __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, 5544, __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, 5544, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5544, __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, 5544, __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, 5544, __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, 5544, __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, 5544, __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, 5544, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5545
 *     """
 *     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":5546
 *     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":5547
 *         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":5545
 *     """
 *     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":5549
 *             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":5544
 * 
 *     """
 *     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":5550
 *         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":5552
 *     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;
  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":5553
 *         pass
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUcontext_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5552
 *     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_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":5554
 *     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":5555
 *         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((PyObject*)__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, 5555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5554
 *     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":5556
 *     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":5557
 *         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":5558
 *     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":5557
 *         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":5559
 *         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, 5559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5556
 *     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":5560
 *             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":5561
 *         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, 5561, __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, 5561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5560
 *             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":5562
 *     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":5563
 *         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, 5563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5562
 *     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":5564
 *     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":5565
 *         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, 5565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5564
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5578
 * 
 *     """
 *     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, 5578, __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, 5578, __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, 5578, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5578, __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, 5578, __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, 5578, __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, 5578, __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, 5578, __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, 5578, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5579
 *     """
 *     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":5580
 *     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":5581
 *         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":5579
 *     """
 *     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":5583
 *             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":5578
 * 
 *     """
 *     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":5584
 *         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":5586
 *     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;
  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":5587
 *         pass
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmodule, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5586
 *     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_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":5588
 *     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":5589
 *         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((PyObject*)__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, 5589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5588
 *     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":5590
 *     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":5591
 *         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":5592
 *     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":5591
 *         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":5593
 *         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, 5593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5590
 *     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":5594
 *             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":5595
 *         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, 5595, __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, 5595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5594
 *             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":5596
 *     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":5597
 *         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, 5597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5596
 *     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":5598
 *     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":5599
 *         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, 5599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5598
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5612
 * 
 *     """
 *     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, 5612, __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, 5612, __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, 5612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5612, __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, 5612, __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, 5612, __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, 5612, __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, 5612, __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, 5612, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5613
 *     """
 *     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":5614
 *     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":5615
 *         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":5613
 *     """
 *     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":5617
 *             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":5612
 * 
 *     """
 *     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":5618
 *         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":5620
 *     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;
  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":5621
 *         pass
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUfunction, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5620
 *     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_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":5622
 *     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":5623
 *         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((PyObject*)__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, 5623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5622
 *     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":5624
 *     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":5625
 *         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":5626
 *     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":5625
 *         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":5627
 *         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, 5627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5624
 *     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":5628
 *             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":5629
 *         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, 5629, __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, 5629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5628
 *             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":5630
 *     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":5631
 *         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, 5631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5630
 *     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":5632
 *     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":5633
 *         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, 5633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5632
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5646
 * 
 *     """
 *     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, 5646, __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, 5646, __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, 5646, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5646, __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, 5646, __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, 5646, __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, 5646, __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, 5646, __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, 5646, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5647
 *     """
 *     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":5648
 *     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":5649
 *         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":5647
 *     """
 *     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":5651
 *             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":5646
 * 
 *     """
 *     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":5652
 *         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":5654
 *     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;
  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":5655
 *         pass
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlibrary, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5654
 *     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_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":5656
 *     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":5657
 *         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((PyObject*)__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, 5657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5656
 *     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":5658
 *     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":5659
 *         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":5660
 *     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":5659
 *         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":5661
 *         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, 5661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5658
 *     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":5662
 *             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":5663
 *         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, 5663, __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, 5663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5662
 *             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":5664
 *     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":5665
 *         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, 5665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5664
 *     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":5666
 *     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":5667
 *         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, 5667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5666
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5680
 * 
 *     """
 *     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, 5680, __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, 5680, __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, 5680, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5680, __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, 5680, __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, 5680, __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, 5680, __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, 5680, __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, 5680, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5681
 *     """
 *     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":5682
 *     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":5683
 *         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":5681
 *     """
 *     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":5685
 *             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":5680
 * 
 *     """
 *     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":5686
 *         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":5688
 *     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;
  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":5689
 *         pass
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUkernel, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5688
 *     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_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":5690
 *     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":5691
 *         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((PyObject*)__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, 5691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5690
 *     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":5692
 *     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":5693
 *         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":5694
 *     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":5693
 *         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":5695
 *         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, 5695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5692
 *     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":5696
 *             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":5697
 *         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, 5697, __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, 5697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5696
 *             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":5698
 *     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":5699
 *         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, 5699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5698
 *     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":5700
 *     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":5701
 *         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, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5700
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5714
 * 
 *     """
 *     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, 5714, __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, 5714, __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, 5714, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5714, __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, 5714, __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, 5714, __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, 5714, __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, 5714, __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, 5714, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5715
 *     """
 *     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":5716
 *     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":5717
 *         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":5715
 *     """
 *     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":5719
 *             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":5714
 * 
 *     """
 *     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":5720
 *         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":5722
 *     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;
  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":5723
 *         pass
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUarray, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5722
 *     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_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":5724
 *     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":5725
 *         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((PyObject*)__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, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5724
 *     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":5726
 *     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":5727
 *         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":5728
 *     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":5727
 *         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":5729
 *         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, 5729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5726
 *     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":5730
 *             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":5731
 *         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, 5731, __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, 5731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5730
 *             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":5732
 *     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":5733
 *         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, 5733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5732
 *     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":5734
 *     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":5735
 *         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, 5735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5734
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5748
 * 
 *     """
 *     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, 5748, __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, 5748, __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, 5748, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5748, __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, 5748, __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, 5748, __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, 5748, __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, 5748, __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, 5748, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5749
 *     """
 *     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":5750
 *     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":5751
 *         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":5749
 *     """
 *     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":5753
 *             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":5748
 * 
 *     """
 *     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":5754
 *         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":5756
 *     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;
  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":5757
 *         pass
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmipmappedArray, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5756
 *     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_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":5758
 *     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":5759
 *         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((PyObject*)__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, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5758
 *     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":5760
 *     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":5761
 *         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":5762
 *     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":5761
 *         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":5763
 *         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, 5763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5760
 *     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":5764
 *             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":5765
 *         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, 5765, __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, 5765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5764
 *             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":5766
 *     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":5767
 *         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, 5767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5766
 *     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":5768
 *     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":5769
 *         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, 5769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5768
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5782
 * 
 *     """
 *     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, 5782, __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, 5782, __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, 5782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5782, __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, 5782, __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, 5782, __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, 5782, __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, 5782, __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, 5782, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5783
 *     """
 *     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":5784
 *     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":5785
 *         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":5783
 *     """
 *     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":5787
 *             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":5782
 * 
 *     """
 *     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":5788
 *         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":5790
 *     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;
  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":5791
 *         pass
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUtexref, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5790
 *     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_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":5792
 *     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":5793
 *         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((PyObject*)__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, 5793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5792
 *     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":5794
 *     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":5795
 *         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":5796
 *     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":5795
 *         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":5797
 *         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, 5797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5794
 *     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":5798
 *             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":5799
 *         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, 5799, __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, 5799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5798
 *             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":5800
 *     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":5801
 *         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, 5801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5800
 *     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":5802
 *     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":5803
 *         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, 5803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5802
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5816
 * 
 *     """
 *     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, 5816, __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, 5816, __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, 5816, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5816, __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, 5816, __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, 5816, __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, 5816, __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, 5816, __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, 5816, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5817
 *     """
 *     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":5818
 *     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":5819
 *         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":5817
 *     """
 *     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":5821
 *             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":5816
 * 
 *     """
 *     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":5822
 *         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":5824
 *     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;
  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":5825
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUsurfref, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5824
 *     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_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":5826
 *     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":5827
 *         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((PyObject*)__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, 5827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5826
 *     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":5828
 *     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":5829
 *         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":5830
 *     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":5829
 *         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":5831
 *         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, 5831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5828
 *     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":5832
 *             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":5833
 *         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, 5833, __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, 5833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5832
 *             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":5834
 *     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":5835
 *         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, 5835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5834
 *     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":5836
 *     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":5837
 *         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, 5837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5836
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5850
 * 
 *     """
 *     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, 5850, __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, 5850, __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, 5850, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5850, __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, 5850, __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, 5850, __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, 5850, __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, 5850, __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, 5850, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5851
 *     """
 *     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":5852
 *     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":5853
 *         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":5851
 *     """
 *     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":5855
 *             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":5850
 * 
 *     """
 *     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":5856
 *         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":5858
 *     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;
  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":5859
 *         pass
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUevent, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5858
 *     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_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":5860
 *     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":5861
 *         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((PyObject*)__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, 5861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5860
 *     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":5862
 *     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":5863
 *         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":5864
 *     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":5863
 *         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":5865
 *         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, 5865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5862
 *     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":5866
 *             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":5867
 *         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, 5867, __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, 5867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5866
 *             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":5868
 *     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":5869
 *         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, 5869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5868
 *     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":5870
 *     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":5871
 *         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, 5871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5870
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5884
 * 
 *     """
 *     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, 5884, __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, 5884, __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, 5884, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5884, __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, 5884, __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, 5884, __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, 5884, __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, 5884, __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, 5884, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5885
 *     """
 *     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":5886
 *     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":5887
 *         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":5885
 *     """
 *     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":5889
 *             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":5884
 * 
 *     """
 *     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":5890
 *         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":5892
 *     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;
  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":5893
 *         pass
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUstream, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5892
 *     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_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":5894
 *     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":5895
 *         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((PyObject*)__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, 5895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5894
 *     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":5896
 *     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":5897
 *         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":5898
 *     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":5897
 *         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":5899
 *         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, 5899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5896
 *     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":5900
 *             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":5901
 *         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, 5901, __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, 5901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5900
 *             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":5902
 *     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":5903
 *         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, 5903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5902
 *     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":5904
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __cuda_stream__(self):
*/

/* 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":5905
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr             # <<<<<<<<<<<<<<
 *     def __cuda_stream__(self):
 *         return (0, <uintptr_t><void_ptr>(self._pvt_ptr[0]))
*/
  __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, 5905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5904
 *     def __int__(self):
 *         return <void_ptr>self._pvt_ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._pvt_ptr
 *     def __cuda_stream__(self):
*/

  /* 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;
}

/* "cuda/bindings/driver.pyx":5906
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __cuda_stream__(self):             # <<<<<<<<<<<<<<
 *         return (0, <uintptr_t><void_ptr>(self._pvt_ptr[0]))
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__cuda_stream__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, 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__cuda_stream__, "CUstream.__cuda_stream__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_17__cuda_stream__ = {"__cuda_stream__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__cuda_stream__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_16__cuda_stream__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__cuda_stream__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cuda_stream__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__cuda_stream__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__cuda_stream__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_8CUstream_16__cuda_stream__(((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__cuda_stream__(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cuda_stream__", 0);

  /* "cuda/bindings/driver.pyx":5907
 *         return <void_ptr>self._pvt_ptr
 *     def __cuda_stream__(self):
 *         return (0, <uintptr_t><void_ptr>(self._pvt_ptr[0]))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphicsResource:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((uintptr_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_self->_pvt_ptr[0])))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(0, 5907, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 5907, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5906
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
 *     def __cuda_stream__(self):             # <<<<<<<<<<<<<<
 *         return (0, <uintptr_t><void_ptr>(self._pvt_ptr[0]))
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstream.__cuda_stream__", __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_19__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, 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__reduce_cython__, "CUstream.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_19__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_18__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_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_18__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_18__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(((PyObject *)(((PyTypeObject*)PyExc_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_21__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, 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_20__setstate_cython__, "CUstream.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_8CUstream_21__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_21__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_20__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_8CUstream_21__setstate_cython__(PyObject *__pyx_v_self, 
#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_20__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_20__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(((PyObject *)(((PyTypeObject*)PyExc_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":5920
 * 
 *     """
 *     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, 5920, __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, 5920, __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, 5920, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5920, __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, 5920, __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, 5920, __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, 5920, __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, 5920, __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, 5920, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5921
 *     """
 *     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":5922
 *     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":5923
 *         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":5921
 *     """
 *     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":5925
 *             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":5920
 * 
 *     """
 *     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":5926
 *         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":5928
 *     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;
  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":5929
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphicsResource, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5928
 *     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_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":5930
 *     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":5931
 *         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((PyObject*)__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, 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 __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":5932
 *     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":5933
 *         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":5934
 *     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":5933
 *         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":5935
 *         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, 5935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5932
 *     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":5936
 *             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":5937
 *         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, 5937, __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, 5937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5936
 *             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":5938
 *     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":5939
 *         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, 5939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5938
 *     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":5940
 *     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":5941
 *         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, 5941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5940
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5954
 * 
 *     """
 *     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, 5954, __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, 5954, __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, 5954, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5954, __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, 5954, __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, 5954, __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, 5954, __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, 5954, __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, 5954, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5955
 *     """
 *     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":5956
 *     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":5957
 *         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":5955
 *     """
 *     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":5959
 *             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":5954
 * 
 *     """
 *     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":5960
 *         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":5962
 *     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;
  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":5963
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUexternalMemory, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5962
 *     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_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":5964
 *     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":5965
 *         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((PyObject*)__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, 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 __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":5966
 *     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":5967
 *         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":5968
 *     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":5967
 *         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":5969
 *         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, 5969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5966
 *     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":5970
 *             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":5971
 *         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, 5971, __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, 5971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5970
 *             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":5972
 *     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":5973
 *         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, 5973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5972
 *     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":5974
 *     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":5975
 *         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, 5975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5974
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":5988
 * 
 *     """
 *     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, 5988, __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, 5988, __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, 5988, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 5988, __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, 5988, __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, 5988, __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, 5988, __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, 5988, __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, 5988, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":5989
 *     """
 *     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":5990
 *     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":5991
 *         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":5989
 *     """
 *     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":5993
 *             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":5988
 * 
 *     """
 *     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":5994
 *         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":5996
 *     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;
  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":5997
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 5997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUexternalSemaphore, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":5996
 *     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_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":5998
 *     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":5999
 *         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((PyObject*)__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, 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 __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":6000
 *     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":6001
 *         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":6002
 *     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":6001
 *         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":6003
 *         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, 6003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6000
 *     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":6004
 *             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":6005
 *         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, 6005, __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, 6005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6004
 *             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":6006
 *     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":6007
 *         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, 6007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6006
 *     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":6008
 *     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":6009
 *         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, 6009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6008
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6022
 * 
 *     """
 *     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, 6022, __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, 6022, __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, 6022, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6022, __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, 6022, __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, 6022, __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, 6022, __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, 6022, __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, 6022, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6023
 *     """
 *     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":6024
 *     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":6025
 *         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":6023
 *     """
 *     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":6027
 *             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":6022
 * 
 *     """
 *     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":6028
 *         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":6030
 *     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;
  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":6031
 *         pass
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6030
 *     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_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":6032
 *     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":6033
 *         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((PyObject*)__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, 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 __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":6034
 *     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":6035
 *         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":6036
 *     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":6035
 *         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":6037
 *         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, 6037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6034
 *     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":6038
 *             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":6039
 *         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, 6039, __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, 6039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6038
 *             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":6040
 *     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":6041
 *         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, 6041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6040
 *     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":6042
 *     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":6043
 *         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, 6043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6042
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6056
 * 
 *     """
 *     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, 6056, __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, 6056, __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, 6056, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6056, __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, 6056, __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, 6056, __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, 6056, __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, 6056, __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, 6056, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6057
 *     """
 *     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":6058
 *     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":6059
 *         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":6057
 *     """
 *     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":6061
 *             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":6056
 * 
 *     """
 *     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":6062
 *         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":6064
 *     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;
  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":6065
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphNode, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6064
 *     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_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":6066
 *     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":6067
 *         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((PyObject*)__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, 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 __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":6068
 *     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":6069
 *         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":6070
 *     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":6069
 *         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":6071
 *         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, 6071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6068
 *     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":6072
 *             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":6073
 *         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, 6073, __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, 6073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6072
 *             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":6074
 *     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":6075
 *         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, 6075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6074
 *     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":6076
 *     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":6077
 *         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, 6077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6076
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6090
 * 
 *     """
 *     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, 6090, __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, 6090, __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, 6090, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6090, __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, 6090, __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, 6090, __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, 6090, __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, 6090, __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, 6090, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6091
 *     """
 *     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":6092
 *     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":6093
 *         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":6091
 *     """
 *     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":6095
 *             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":6090
 * 
 *     """
 *     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":6096
 *         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":6098
 *     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;
  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":6099
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphExec, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6098
 *     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_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":6100
 *     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":6101
 *         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((PyObject*)__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, 6101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6100
 *     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":6102
 *     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":6103
 *         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":6104
 *     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":6103
 *         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":6105
 *         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, 6105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6102
 *     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":6106
 *             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":6107
 *         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, 6107, __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, 6107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6106
 *             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":6108
 *     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":6109
 *         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, 6109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6108
 *     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":6110
 *     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":6111
 *         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, 6111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6110
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6124
 * 
 *     """
 *     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, 6124, __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, 6124, __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, 6124, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6124, __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, 6124, __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, 6124, __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, 6124, __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, 6124, __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, 6124, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6125
 *     """
 *     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":6126
 *     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":6127
 *         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":6125
 *     """
 *     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":6129
 *             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":6124
 * 
 *     """
 *     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":6130
 *         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":6132
 *     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;
  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":6133
 *         pass
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUmemoryPool_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6132
 *     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_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":6134
 *     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":6135
 *         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((PyObject*)__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, 6135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6134
 *     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":6136
 *     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":6137
 *         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":6138
 *     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":6137
 *         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":6139
 *         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, 6139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6136
 *     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":6140
 *             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":6141
 *         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, 6141, __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, 6141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6140
 *             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":6142
 *     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":6143
 *         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, 6143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6142
 *     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":6144
 *     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":6145
 *         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, 6145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6144
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6158
 * 
 *     """
 *     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, 6158, __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, 6158, __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, 6158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6158, __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, 6158, __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, 6158, __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, 6158, __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, 6158, __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, 6158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6159
 *     """
 *     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":6160
 *     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":6161
 *         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":6159
 *     """
 *     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":6163
 *             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":6158
 * 
 *     """
 *     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":6164
 *         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":6166
 *     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;
  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":6167
 *         pass
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUuserObject, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6166
 *     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_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":6168
 *     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":6169
 *         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((PyObject*)__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, 6169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6168
 *     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":6170
 *     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":6171
 *         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":6172
 *     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":6171
 *         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":6173
 *         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, 6173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6170
 *     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":6174
 *             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":6175
 *         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, 6175, __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, 6175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6174
 *             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":6176
 *     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":6177
 *         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, 6177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6176
 *     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":6178
 *     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":6179
 *         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, 6179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6178
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6192
 * 
 *     """
 *     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, 6192, __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, 6192, __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, 6192, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6192, __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, 6192, __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, 6192, __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, 6192, __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, 6192, __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, 6192, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6193
 *     """
 *     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":6194
 *     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":6195
 *         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":6193
 *     """
 *     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":6197
 *             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":6192
 * 
 *     """
 *     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":6198
 *         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":6200
 *     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;
  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":6201
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgraphDeviceNode, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6200
 *     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_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":6202
 *     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":6203
 *         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((PyObject*)__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, 6203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6202
 *     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":6204
 *     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":6205
 *         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":6206
 *     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":6205
 *         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":6207
 *         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, 6207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6204
 *     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":6208
 *             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":6209
 *         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, 6209, __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, 6209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6208
 *             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":6210
 *     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":6211
 *         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, 6211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6210
 *     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":6212
 *     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":6213
 *         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, 6213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6212
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6226
 * 
 *     """
 *     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, 6226, __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, 6226, __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, 6226, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6226, __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, 6226, __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, 6226, __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, 6226, __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, 6226, __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, 6226, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6227
 *     """
 *     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":6228
 *     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":6229
 *         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":6227
 *     """
 *     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":6231
 *             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":6226
 * 
 *     """
 *     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":6232
 *         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":6234
 *     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;
  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":6235
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUasyncCallbackHandle, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6234
 *     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_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":6236
 *     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":6237
 *         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((PyObject*)__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, 6237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6236
 *     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":6238
 *     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":6239
 *         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":6240
 *     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":6239
 *         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":6241
 *         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, 6241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6238
 *     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":6242
 *             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":6243
 *         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, 6243, __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, 6243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6242
 *             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":6244
 *     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":6245
 *         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, 6245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6244
 *     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":6246
 *     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":6247
 *         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, 6247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6246
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6260
 * 
 *     """
 *     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, 6260, __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, 6260, __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, 6260, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6260, __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, 6260, __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, 6260, __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, 6260, __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, 6260, __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, 6260, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6261
 *     """
 *     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":6262
 *     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":6263
 *         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":6261
 *     """
 *     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":6265
 *             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":6260
 * 
 *     """
 *     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":6266
 *         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":6268
 *     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;
  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":6269
 *         pass
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUgreenCtx, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6268
 *     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_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":6270
 *     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":6271
 *         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((PyObject*)__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, 6271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6270
 *     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":6272
 *     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":6273
 *         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":6274
 *     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":6273
 *         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":6275
 *         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, 6275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6272
 *     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":6276
 *             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":6277
 *         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, 6277, __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, 6277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6276
 *             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":6278
 *     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":6279
 *         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, 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 __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":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_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":6281
 *         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, 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.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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":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_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, 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.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":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.CUlinkState>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.CUlinkState>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.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":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.CUlinkState>init_value
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6297
 *             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":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.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":6299
 *             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, 6299, __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":6298
 *         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":6300
 *     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;
  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":6301
 *         self._keepalive = []
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlinkState, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6300
 *     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_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":6302
 *     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":6303
 *         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((PyObject*)__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 '<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":6304
 *     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":6305
 *         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":6306
 *     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":6305
 *         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":6307
 *         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, 6307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6304
 *     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":6308
 *             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":6309
 *         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, 6309, __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, 6309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6308
 *             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":6310
 *     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":6311
 *         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, 6311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6310
 *     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":6312
 *     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":6313
 *         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, 6313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6312
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6326
 * 
 *     """
 *     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, 6326, __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, 6326, __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, 6326, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6326, __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, 6326, __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, 6326, __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, 6326, __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, 6326, __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, 6326, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6327
 *     """
 *     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":6328
 *     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":6329
 *         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":6327
 *     """
 *     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":6331
 *             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":6326
 * 
 *     """
 *     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":6332
 *         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":6334
 *     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;
  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":6335
 *         pass
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUdevResourceDesc, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6334
 *     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_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":6336
 *     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":6337
 *         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((PyObject*)__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, 6337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6336
 *     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":6338
 *     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":6339
 *         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":6340
 *     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":6339
 *         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":6341
 *         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, 6341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6338
 *     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":6342
 *             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":6343
 *         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, 6343, __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, 6343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6342
 *             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":6344
 *     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":6345
 *         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, 6345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6344
 *     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":6346
 *     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":6347
 *         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, 6347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6346
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6358
 * 
 *     """
 *     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, 6358, __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, 6358, __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, 6358, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6358, __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, 6358, __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, 6358, __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, 6358, __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, 6358, __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, 6358, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6359
 *     """
 *     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":6360
 *     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":6361
 *         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":6359
 *     """
 *     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":6363
 *             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":6358
 * 
 *     """
 *     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":6364
 *         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":6366
 *     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;
  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":6367
 *         pass
 *     def __repr__(self):
 *         return '<CUlogsCallbackHandle ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlogsCallbackHandle, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6366
 *     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_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":6368
 *     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":6369
 *         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((PyObject*)__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, 6369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6368
 *     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":6370
 *     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":6371
 *         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":6372
 *     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":6371
 *         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":6373
 *         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, 6373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6370
 *     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":6374
 *             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":6375
 *         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, 6375, __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, 6375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6374
 *             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":6376
 *     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":6377
 *         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, 6377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6376
 *     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":6378
 *     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":6379
 *         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, 6379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6378
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6392
 * 
 *     """
 *     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, 6392, __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, 6392, __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, 6392, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6392, __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, 6392, __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, 6392, __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, 6392, __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, 6392, __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, 6392, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6393
 *     """
 *     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":6394
 *     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":6395
 *         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":6393
 *     """
 *     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":6397
 *             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":6392
 * 
 *     """
 *     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":6398
 *         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":6400
 *     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;
  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":6401
 *         pass
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUeglStreamConnection, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6400
 *     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_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":6402
 *     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":6403
 *         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((PyObject*)__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, 6403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6402
 *     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":6404
 *     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":6405
 *         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":6406
 *     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":6405
 *         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":6407
 *         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, 6407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6404
 *     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":6408
 *             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":6409
 *         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, 6409, __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, 6409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6408
 *             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":6410
 *     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":6411
 *         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, 6411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6410
 *     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":6412
 *     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":6413
 *         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, 6413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6412
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6424
 * 
 *     """
 *     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, 6424, __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, 6424, __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, 6424, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6424, __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, 6424, __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, 6424, __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, 6424, __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, 6424, __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, 6424, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6425
 *     """
 *     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":6426
 *     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":6427
 *         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":6425
 *     """
 *     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":6429
 *             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":6424
 * 
 *     """
 *     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":6430
 *         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":6432
 *     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;
  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":6433
 *         pass
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLImageKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6432
 *     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_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":6434
 *     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":6435
 *         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((PyObject*)__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, 6435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6434
 *     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":6436
 *     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":6437
 *         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":6438
 *     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":6437
 *         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":6439
 *         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, 6439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6436
 *     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":6440
 *             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":6441
 *         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, 6441, __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, 6441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6440
 *             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":6442
 *     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":6443
 *         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, 6443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6442
 *     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":6444
 *     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":6445
 *         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, 6445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6444
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6456
 * 
 *     """
 *     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, 6456, __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, 6456, __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, 6456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6456, __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, 6456, __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, 6456, __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, 6456, __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, 6456, __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, 6456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6457
 *     """
 *     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":6458
 *     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":6459
 *         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":6457
 *     """
 *     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":6461
 *             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":6456
 * 
 *     """
 *     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":6462
 *         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":6464
 *     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;
  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":6465
 *         pass
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLStreamKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6464
 *     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_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":6466
 *     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":6467
 *         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((PyObject*)__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, 6467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6466
 *     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":6468
 *     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":6469
 *         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":6470
 *     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":6469
 *         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":6471
 *         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, 6471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6468
 *     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":6472
 *             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":6473
 *         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, 6473, __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, 6473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6472
 *             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":6474
 *     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":6475
 *         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, 6475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6474
 *     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":6476
 *     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":6477
 *         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, 6477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6476
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6488
 * 
 *     """
 *     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, 6488, __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, 6488, __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, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6488, __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, 6488, __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, 6488, __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, 6488, __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, 6488, __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, 6488, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6489
 *     """
 *     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":6490
 *     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":6491
 *         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":6489
 *     """
 *     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":6493
 *             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":6488
 * 
 *     """
 *     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":6494
 *         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":6496
 *     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;
  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":6497
 *         pass
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_EGLSyncKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6496
 *     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_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":6498
 *     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":6499
 *         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((PyObject*)__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, 6499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6498
 *     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":6500
 *     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":6501
 *         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":6502
 *     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":6501
 *         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":6503
 *         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, 6503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6500
 *     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":6504
 *             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":6505
 *         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, 6505, __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, 6505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6504
 *             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":6506
 *     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":6507
 *         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, 6507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6506
 *     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":6508
 *     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":6509
 *         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, 6509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6508
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6520
 * 
 *     """
 *     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, 6520, __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, 6520, __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, 6520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6520, __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, 6520, __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, 6520, __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, 6520, __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, 6520, __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, 6520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6521
 *     """
 *     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":6522
 *     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":6523
 *         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":6521
 *     """
 *     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":6525
 *             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":6520
 * 
 *     """
 *     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":6526
 *         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":6528
 *     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;
  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":6529
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUasyncCallback, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6528
 *     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_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":6530
 *     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":6531
 *         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((PyObject*)__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, 6531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6530
 *     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":6532
 *     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":6533
 *         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, 6533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6532
 *     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":6534
 *     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":6535
 *         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, 6535, __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
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6546
 * 
 *     """
 *     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, 6546, __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, 6546, __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, 6546, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6546, __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, 6546, __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, 6546, __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, 6546, __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, 6546, __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, 6546, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6547
 *     """
 *     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":6548
 *     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":6549
 *         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":6547
 *     """
 *     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":6551
 *             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":6546
 * 
 *     """
 *     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":6552
 *         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":6554
 *     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;
  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":6555
 *         pass
 *     def __repr__(self):
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUhostFn, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6554
 *     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_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":6556
 *     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":6557
 *         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((PyObject*)__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, 6557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6556
 *     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":6558
 *     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":6559
 *         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, 6559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6558
 *     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":6560
 *     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":6561
 *         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, 6561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6560
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6572
 * 
 *     """
 *     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, 6572, __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, 6572, __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, 6572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6572, __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, 6572, __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, 6572, __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, 6572, __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, 6572, __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, 6572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6573
 *     """
 *     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":6574
 *     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":6575
 *         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":6573
 *     """
 *     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":6577
 *             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":6572
 * 
 *     """
 *     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":6578
 *         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":6580
 *     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;
  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":6581
 *         pass
 *     def __repr__(self):
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUstreamCallback, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6580
 *     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_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":6582
 *     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":6583
 *         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((PyObject*)__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, 6583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6582
 *     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":6584
 *     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":6585
 *         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, 6585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6584
 *     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":6586
 *     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":6587
 *         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, 6587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6586
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6598
 * 
 *     """
 *     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, 6598, __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, 6598, __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, 6598, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6598, __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, 6598, __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, 6598, __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, 6598, __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, 6598, __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, 6598, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6599
 *     """
 *     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":6600
 *     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":6601
 *         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":6599
 *     """
 *     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":6603
 *             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":6598
 * 
 *     """
 *     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":6604
 *         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":6606
 *     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;
  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":6607
 *         pass
 *     def __repr__(self):
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUoccupancyB2DSize, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6606
 *     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_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":6608
 *     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":6609
 *         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((PyObject*)__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, 6609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6608
 *     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":6610
 *     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":6611
 *         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, 6611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6610
 *     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":6612
 *     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":6613
 *         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, 6613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6612
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6624
 * 
 *     """
 *     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, 6624, __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, 6624, __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, 6624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6624, __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, 6624, __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, 6624, __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, 6624, __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, 6624, __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, 6624, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6625
 *     """
 *     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":6626
 *     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":6627
 *         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":6625
 *     """
 *     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":6629
 *             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":6624
 * 
 *     """
 *     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":6630
 *         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":6632
 *     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;
  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":6633
 *         pass
 *     def __repr__(self):
 *         return '<CUlogsCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
*/
  __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((PyObject*)__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, 6633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_CUlogsCallback, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6632
 *     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_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":6634
 *     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":6635
 *         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((PyObject*)__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, 6635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6634
 *     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":6636
 *     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":6637
 *         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, 6637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6636
 *     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":6638
 *     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":6639
 *         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, 6639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6638
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6653
 *         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, 6653, __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, 6653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6653, __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, 6653, __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, 6653, __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, 6653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6654
 *     """
 *     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":6655
 *     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":6654
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6657
 *             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":6653
 *         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":6658
 *         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, 6658, __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, 6658, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6658, __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, 6658, __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, 6658, __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, 6658, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6660
 *     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":6662
 *     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":6663
 *         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, 6663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6662
 *     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":6664
 *     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":6665
 *         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":6666
 *     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, 6666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6667
 *         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":6668
 *             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, 6668, __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((PyObject*)__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, 6668, __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, 6668, __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, 6668, __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, 6668, __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, 6668, __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, 6668, __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":6667
 *         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":6669
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 6669, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":6670
 *                 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, 6670, __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, 6670, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 6670, __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":6667
 *         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":6671
 *             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, 6671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6665
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6673
 *             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":6664
 *     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":6674
 *         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":6676
 *     @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, 6676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6674
 *         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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6695
 *         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, 6695, __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, 6695, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6695, __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, 6695, __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, 6695, __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, 6695, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6696
 *     """
 *     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":6697
 *     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":6696
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6699
 *             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":6695
 *         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":6700
 *         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, 6700, __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, 6700, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6700, __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, 6700, __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, 6700, __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, 6700, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6702
 *     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":6704
 *     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":6705
 *         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, 6705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6704
 *     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":6706
 *     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":6707
 *         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":6708
 *     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, 6708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6709
 *         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":6710
 *             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, 6710, __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, 6710, __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, 6710, __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, 6710, __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, 6710, __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, 6710, __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":6709
 *         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":6711
 *             try:
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6711, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6712
 *                 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, 6712, __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, 6712, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6712, __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":6709
 *         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":6713
 *             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, 6713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6707
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6715
 *             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":6706
 *     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":6716
 *         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":6718
 *     @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, 6718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6716
 *         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":6719
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6721
 *     @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, 6721, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6722
 *     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_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6722, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6722, __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, 6722, __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_data_length_must_be_64_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 6722, __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, 6722, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6721
 *     @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":6723
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6723, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 6723, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 6723, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6723, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 6723, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":6724
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6724, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6724, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).data[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":6723
 *         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":6719
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6740
 *         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, 6740, __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, 6740, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6740, __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, 6740, __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, 6740, __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, 6740, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6741
 *     """
 *     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":6742
 *     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":6741
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6744
 *             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":6740
 *         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":6745
 *         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, 6745, __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, 6745, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6745, __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, 6745, __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, 6745, __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, 6745, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6747
 *     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":6749
 *     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":6750
 *         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, 6750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6749
 *     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":6751
 *     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":6752
 *         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":6753
 *     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, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6754
 *         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":6755
 *             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, 6755, __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, 6755, __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, 6755, __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, 6755, __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, 6755, __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, 6755, __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":6754
 *         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":6756
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6756, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6757
 *                 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, 6757, __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, 6757, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6757, __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":6754
 *         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":6758
 *             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, 6758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6752
 *         return <void_ptr>self._pvt_ptr
 *     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 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":6751
 *     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":6761
 *         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":6763
 *     @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, 6763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6761
 *         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":6764
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  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":6766
 *     @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, 6766, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6767
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6767, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6767, __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, 6767, __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_reserved_length_must_be_64_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 6767, __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, 6767, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6766
 *     @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":6768
 *         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":6769
 *             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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6769, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 6769, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 6769, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6769, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 6769, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":6770
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6770, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6770, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6770, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6770, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6771
 *             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_4 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6771, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":6770
 *         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":6772
 *                 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_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6772, __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, 6772, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":6769
 *             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":6768
 *         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":6774
 *                 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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6774, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6774, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 6774, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 6774, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6774, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 6774, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6774, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":6775
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6775, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6775, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6775, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6775, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6776
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 * 
*/
        __pyx_t_4 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6776, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":6775
 *         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":6777
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUipcMemHandle_st:
*/
      __pyx_t_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6777, __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, 6777, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":6774
 *                 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":6764
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6793
 *         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, 6793, __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, 6793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6793, __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, 6793, __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, 6793, __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, 6793, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6794
 *     """
 *     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":6795
 *     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":6794
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":6797
 *             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":6793
 *         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":6798
 *         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, 6798, __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, 6798, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6798, __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, 6798, __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, 6798, __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, 6798, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6800
 *     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":6802
 *     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":6803
 *         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, 6803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6802
 *     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":6804
 *     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":6805
 *         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":6806
 *     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, 6806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6807
 *         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":6808
 *             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, 6808, __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, 6808, __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, 6808, __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, 6808, __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, 6808, __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, 6808, __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":6807
 *         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":6809
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6809, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6810
 *                 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, 6810, __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, 6810, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6810, __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":6807
 *         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":6811
 *             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, 6811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6805
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":6813
 *             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":6804
 *     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":6814
 *         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":6816
 *     @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, 6816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6814
 *         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":6817
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  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":6819
 *     @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, 6819, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":6820
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6820, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6820, __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, 6820, __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_reserved_length_must_be_64_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 6820, __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, 6820, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":6819
 *     @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":6821
 *         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":6822
 *             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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6822, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6822, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 6822, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 6822, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6822, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 6822, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6822, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":6823
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6823, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6823, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6823, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6823, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6824
 *             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_4 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6824, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":6823
 *         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":6825
 *                 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_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6825, __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, 6825, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":6822
 *             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":6821
 *         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":6827
 *                 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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6827, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6827, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 6827, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 6827, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6827, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 6827, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6827, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":6828
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6828, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6828, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6828, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 6828, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":6829
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 * 
*/
        __pyx_t_4 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6829, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":6828
 *         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":6830
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:
*/
      __pyx_t_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6830, __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, 6830, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":6827
 *                 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":6817
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":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_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, 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.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":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
 *         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, 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.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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":6859
 *     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_t_3 = __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_3)) __PYX_ERR(0, 6859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6859, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 6859, __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":6860
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 6860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6860, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 6860, __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":6861
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 6861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6861, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 6861, __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":6862
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 6862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 6862, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 6862, __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":6857
 *         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_5);
  __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":6863
 *         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":6865
 *     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":6866
 *         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, 6866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6865
 *     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":6867
 *     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":6868
 *         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":6869
 *     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, 6869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6870
 *         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":6871
 *             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, 6871, __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, 6871, __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, 6871, __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, 6871, __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, 6871, __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, 6871, __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":6870
 *         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":6872
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6872, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6873
 *                 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, 6873, __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, 6873, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6873, __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":6870
 *         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":6874
 *             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":6875
 *                 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, 6875, __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, 6875, __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, 6875, __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, 6875, __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, 6875, __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, 6875, __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":6874
 *             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":6876
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6876, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6877
 *                 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, 6877, __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, 6877, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6877, __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":6874
 *             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":6878
 *             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":6879
 *                 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, 6879, __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, 6879, __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, 6879, __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, 6879, __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, 6879, __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, 6879, __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":6878
 *             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":6880
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6880, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6881
 *                 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, 6881, __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, 6881, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6881, __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":6878
 *             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":6882
 *             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":6883
 *                 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, 6883, __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, 6883, __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, 6883, __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, 6883, __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, 6883, __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, 6883, __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":6882
 *             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":6884
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6884, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6885
 *                 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, 6885, __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, 6885, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6885, __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":6882
 *             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":6886
 *             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":6887
 *                 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, 6887, __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, 6887, __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, 6887, __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, 6887, __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, 6887, __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, 6887, __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":6886
 *             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":6888
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6888, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":6889
 *                 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, 6889, __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, 6889, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 6889, __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":6886
 *             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":6890
 *             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":6891
 *                 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, 6891, __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, 6891, __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, 6891, __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, 6891, __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, 6891, __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, 6891, __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":6890
 *             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":6892
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 6892, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":6893
 *                 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, 6893, __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, 6893, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 6893, __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":6890
 *             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":6894
 *             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, 6894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":6868
 *         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":6896
 *             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":6867
 *     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":6897
 *         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":6899
 *     @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, 6899, __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, 6899, __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, 6899, __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":6900
 *     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":6899
 *     @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":6901
 *         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, 6901, __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, 6901, __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, 6901, __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":6897
 *         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":6902
 *             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, 6903, __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":6904
 *     @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, 6904, __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, 6904, __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":6902
 *             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":6905
 *     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":6907
 *     @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":6905
 *     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":6908
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6911
 *     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":6912
 *         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":6911
 *     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":6913
 *         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":6914
 *             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, 6914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6915
 *         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, 6915, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6913
 *         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":6917
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_address};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6917, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":6918
 *         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, 6918, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6919
 *             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":6908
 *     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_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":6921
 *         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":6923
 *     @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":6921
 *         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":6924
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6927
 *     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":6928
 *         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":6927
 *     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":6929
 *         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":6930
 *             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, 6930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6931
 *         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, 6931, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6929
 *         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":6933
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6933, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6933, __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;

    /* "cuda/bindings/driver.pyx":6934
 *         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, 6934, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6935
 *             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":6924
 *     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_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":6937
 *         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":6939
 *     @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":6937
 *         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":6940
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6943
 *     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":6944
 *         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":6943
 *     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":6945
 *         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":6946
 *             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, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6947
 *         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, 6947, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6945
 *         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":6949
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value64};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6949, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":6950
 *         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, 6950, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6951
 *             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":6940
 *     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_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":6953
 *         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":6955
 *     @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, 6955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":6953
 *         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":6956
 *     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, 6957, __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":6958
 *     @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":6956
 *     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":6959
 *     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":6961
 *     @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":6959
 *     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":6962
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":6965
 *     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":6966
 *         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":6965
 *     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":6967
 *         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":6968
 *             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, 6968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":6969
 *         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, 6969, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":6967
 *         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":6971
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_alias};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6971, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":6972
 *         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, 6972, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":6973
 *             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":6962
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":6998
 *         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, 6998, __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, 6998, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 6998, __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, 6998, __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, 6998, __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, 6998, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 6998, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":6999
 *     """
 *     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":6998
 *         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":7001
 *         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, 7001, __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, 7001, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7001, __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, 7001, __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, 7001, __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, 7001, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7001, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7003
 *     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_t_3 = __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_3)) __PYX_ERR(0, 7003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7003, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7003, __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":7004
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 7004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7004, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 7004, __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":7005
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 7005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7005, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7005, __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":7006
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 7006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7006, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 7006, __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":7001
 *         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_5);
  __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":7007
 *         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":7009
 *     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":7010
 *         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, 7010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7009
 *     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":7011
 *     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":7012
 *         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":7013
 *     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, 7013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7014
 *         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":7015
 *             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, 7015, __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, 7015, __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, 7015, __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, 7015, __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, 7015, __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, 7015, __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":7014
 *         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":7016
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7016, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7017
 *                 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, 7017, __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, 7017, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7017, __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":7014
 *         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":7018
 *             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":7019
 *                 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, 7019, __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, 7019, __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, 7019, __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, 7019, __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, 7019, __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, 7019, __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":7018
 *             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":7020
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7020, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7021
 *                 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, 7021, __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, 7021, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7021, __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":7018
 *             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":7022
 *             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":7023
 *                 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, 7023, __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, 7023, __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, 7023, __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, 7023, __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, 7023, __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, 7023, __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":7022
 *             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":7024
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7024, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7025
 *                 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, 7025, __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, 7025, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7025, __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":7022
 *             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":7026
 *             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":7027
 *                 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, 7027, __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, 7027, __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, 7027, __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, 7027, __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, 7027, __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, 7027, __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":7026
 *             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":7028
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7028, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7029
 *                 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, 7029, __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, 7029, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7029, __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":7026
 *             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":7030
 *             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":7031
 *                 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, 7031, __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, 7031, __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, 7031, __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, 7031, __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, 7031, __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, 7031, __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":7030
 *             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":7032
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7032, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7033
 *                 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, 7033, __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, 7033, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7033, __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":7030
 *             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":7034
 *             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":7035
 *                 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, 7035, __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, 7035, __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, 7035, __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, 7035, __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, 7035, __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, 7035, __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":7034
 *             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":7036
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7036, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7037
 *                 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, 7037, __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, 7037, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7037, __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":7034
 *             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":7038
 *             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, 7038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7012
 *         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":7040
 *             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":7011
 *     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":7041
 *         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":7043
 *     @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, 7043, __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, 7043, __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, 7043, __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":7044
 *     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":7043
 *     @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":7045
 *         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, 7045, __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, 7045, __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, 7045, __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":7041
 *         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":7046
 *             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, 7047, __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":7048
 *     @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, 7048, __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, 7048, __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":7046
 *             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":7049
 *     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":7051
 *     @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":7049
 *     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":7052
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7055
 *     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":7056
 *         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":7055
 *     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":7057
 *         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":7058
 *             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, 7058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7059
 *         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, 7059, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7057
 *         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":7061
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_address};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7061, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":7062
 *         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, 7062, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7063
 *             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":7052
 *     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_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":7065
 *         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":7067
 *     @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":7065
 *         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":7068
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7071
 *     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":7072
 *         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":7071
 *     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":7073
 *         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":7074
 *             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, 7074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7075
 *         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, 7075, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7073
 *         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":7077
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7077, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7077, __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;

    /* "cuda/bindings/driver.pyx":7078
 *         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, 7078, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7079
 *             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":7068
 *     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_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":7081
 *         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":7083
 *     @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":7081
 *         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":7084
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7087
 *     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":7088
 *         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":7087
 *     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":7089
 *         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":7090
 *             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, 7090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7091
 *         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, 7091, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7089
 *         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":7093
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value64};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7093, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":7094
 *         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, 7094, __pyx_L1_error)
    __pyx_v_cyvalue64 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7095
 *             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":7084
 *     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_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":7097
 *         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":7099
 *     @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, 7099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7097
 *         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":7100
 *     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, 7101, __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":7102
 *     @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":7100
 *     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":7103
 *     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":7105
 *     @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":7103
 *     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":7106
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7109
 *     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":7110
 *         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":7109
 *     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":7111
 *         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":7112
 *             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, 7112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7113
 *         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, 7113, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7111
 *         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":7115
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_alias};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7115, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":7116
 *         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, 7116, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7117
 *             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":7106
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7134
 *         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, 7134, __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, 7134, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7134, __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, 7134, __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, 7134, __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, 7134, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7134, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7135
 *     """
 *     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":7134
 *         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":7137
 *         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, 7137, __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, 7137, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7137, __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, 7137, __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, 7137, __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, 7137, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7137, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7139
 *     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":7141
 *     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":7142
 *         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, 7142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7141
 *     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":7143
 *     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":7144
 *         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":7145
 *     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, 7145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7146
 *         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":7147
 *             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, 7147, __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, 7147, __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, 7147, __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, 7147, __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, 7147, __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, 7147, __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":7146
 *         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":7148
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7148, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7149
 *                 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, 7149, __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, 7149, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7149, __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":7146
 *         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":7150
 *             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":7151
 *                 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, 7151, __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, 7151, __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, 7151, __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, 7151, __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, 7151, __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, 7151, __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":7150
 *             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":7152
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7152, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7153
 *                 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, 7153, __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, 7153, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7153, __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":7150
 *             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":7154
 *             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, 7154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7144
 *         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":7156
 *             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":7143
 *     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":7157
 *         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":7159
 *     @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, 7159, __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, 7159, __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, 7159, __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":7160
 *     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":7159
 *     @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":7161
 *         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, 7161, __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, 7161, __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, 7161, __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":7157
 *         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":7162
 *             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, 7163, __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":7164
 *     @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, 7164, __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, 7164, __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":7162
 *             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":7165
 *     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":7167
 *     @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, 7167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7165
 *     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":7168
 *     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, 7169, __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":7170
 *     @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":7168
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7186
 *         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, 7186, __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, 7186, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7186, __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, 7186, __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, 7186, __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, 7186, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7186, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7187
 *     """
 *     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":7186
 *         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":7189
 *         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, 7189, __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, 7189, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7189, __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, 7189, __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, 7189, __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, 7189, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7189, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7191
 *     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":7193
 *     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":7194
 *         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, 7194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7193
 *     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":7195
 *     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":7196
 *         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":7197
 *     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, 7197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7198
 *         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":7199
 *             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, 7199, __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, 7199, __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, 7199, __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, 7199, __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, 7199, __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, 7199, __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":7198
 *         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":7200
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7200, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7201
 *                 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, 7201, __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, 7201, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7201, __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":7198
 *         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":7202
 *             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":7203
 *                 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, 7203, __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, 7203, __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, 7203, __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, 7203, __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, 7203, __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, 7203, __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":7202
 *             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":7204
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7204, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7205
 *                 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, 7205, __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, 7205, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7205, __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":7202
 *             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":7206
 *             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, 7206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7196
 *         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":7208
 *             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":7195
 *     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":7209
 *         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":7211
 *     @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, 7211, __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, 7211, __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, 7211, __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":7212
 *     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":7211
 *     @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":7213
 *         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, 7213, __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, 7213, __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, 7213, __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":7209
 *         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":7214
 *             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, 7215, __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":7216
 *     @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, 7216, __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, 7216, __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":7214
 *             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":7217
 *     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":7219
 *     @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, 7219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7217
 *     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":7220
 *     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, 7221, __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":7222
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].memoryBarrier.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpAtomicReductionParams_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).memoryBarrier.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":7220
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7248
 *         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_37CUstreamMemOpAtomicReductionParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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, 7248, __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, 7248, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7248, __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, 7248, __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, 7248, __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, 7248, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7248, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_v__ptr) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7249
 *     """
 *     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":7248
 *         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":7251
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.address)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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, 7251, __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, 7251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7251, __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, 7251, __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, 7251, __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, 7251, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7251, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7253
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.address)             # <<<<<<<<<<<<<<
 *         self._value = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.value)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.alias)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).atomicReduction.address))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7253, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7253, __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":7254
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.address)
 *         self._value = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.value)             # <<<<<<<<<<<<<<
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.alias)
 *     def __dealloc__(self):
*/
  __pyx_t_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).atomicReduction.value))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7254, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 7254, __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_cuuint64_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7255
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.address)
 *         self._value = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.value)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.alias)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).atomicReduction.alias))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7255, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7255, __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":7251
 *         self._pvt_ptr = <cydriver.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.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_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7256
 *         self._value = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.value)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._pvt_ptr[0].atomicReduction.alias)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":7258
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     def __repr__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_6getPtr, "CUstreamMemOpAtomicReductionParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {
  PyObject *__pyx_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":7259
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction             # <<<<<<<<<<<<<<
 *     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]).atomicReduction))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7258
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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":7260
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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":7261
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     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":7262
 *     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, 7262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7263
 *         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":7264
 *             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, 7264, __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, 7264, __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, 7264, __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, 7264, __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, 7264, __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, 7264, __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":7263
 *         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":7265
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7265, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7266
 *                 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, 7266, __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, 7266, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7266, __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":7263
 *         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":7267
 *             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":7268
 *                 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, 7268, __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, 7268, __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, 7268, __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, 7268, __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, 7268, __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, 7268, __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":7267
 *             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":7269
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7269, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7270
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7270, __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, 7270, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7270, __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":7267
 *             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":7271
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7272
 *                 str_list += ['flags : <ValueError>']
 *             try:
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reductionOp : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reductionOp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7272, __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, 7272, __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_reductionOp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7272, __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, 7272, __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, 7272, __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, 7272, __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":7271
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":7273
 *             try:
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reductionOp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7273, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7274
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
 *             except ValueError:
 *                 str_list += ['reductionOp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dataType : ' + str(self.dataType)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7274, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_reductionOp_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_reductionOp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_reductionOp_ValueError) != (0)) __PYX_ERR(0, 7274, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7274, __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":7271
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reductionOp : ' + str(self.reductionOp)]
 *             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":7275
 *             except ValueError:
 *                 str_list += ['reductionOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataType : ' + str(self.dataType)]
 *             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":7276
 *                 str_list += ['reductionOp : <ValueError>']
 *             try:
 *                 str_list += ['dataType : ' + str(self.dataType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dataType : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dataType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7276, __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, 7276, __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_dataType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7276, __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, 7276, __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, 7276, __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, 7276, __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":7275
 *             except ValueError:
 *                 str_list += ['reductionOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataType : ' + str(self.dataType)]
 *             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":7277
 *             try:
 *                 str_list += ['dataType : ' + str(self.dataType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7277, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7278
 *                 str_list += ['dataType : ' + str(self.dataType)]
 *             except ValueError:
 *                 str_list += ['dataType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7278, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_dataType_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_dataType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_dataType_ValueError) != (0)) __PYX_ERR(0, 7278, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7278, __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":7275
 *             except ValueError:
 *                 str_list += ['reductionOp : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataType : ' + str(self.dataType)]
 *             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":7279
 *             except ValueError:
 *                 str_list += ['dataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7280
 *                 str_list += ['dataType : <ValueError>']
 *             try:
 *                 str_list += ['address : ' + str(self.address)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_address_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7280, __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, 7280, __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_address, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7280, __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, 7280, __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, 7280, __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, 7280, __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":7279
 *             except ValueError:
 *                 str_list += ['dataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":7281
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7281, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7282
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7282, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_address_ValueError) != (0)) __PYX_ERR(0, 7282, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7282, __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":7279
 *             except ValueError:
 *                 str_list += ['dataType : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : ' + str(self.address)]
 *             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":7283
 *             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_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":7284
 *                 str_list += ['address : <ValueError>']
 *             try:
 *                 str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7284, __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, 7284, __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_value_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7284, __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, 7284, __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, 7284, __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, 7284, __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":7283
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             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":7285
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 7285, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7286
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7286, __pyx_L46_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, 7286, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7286, __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":7283
 *             except ValueError:
 *                 str_list += ['address : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : ' + str(self.value)]
 *             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":7287
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":7288
 *                 str_list += ['value : <ValueError>']
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_alias_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7288, __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, 7288, __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_alias, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7288, __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, 7288, __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, 7288, __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, 7288, __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":7287
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":7289
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 7289, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7290
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7290, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_alias_ValueError) != (0)) __PYX_ERR(0, 7290, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7290, __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":7287
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : ' + str(self.alias)]
 *             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":7291
 *             except ValueError:
 *                 str_list += ['alias : <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, 7291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7261
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7293
 *             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":7260
 *     def getPtr(self):
 *         return <void_ptr>&self._pvt_ptr[0].atomicReduction
 *     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.CUstreamMemOpAtomicReductionParams_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":7294
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].atomicReduction.operation not in _dict_CUstreamBatchMemOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_9operation___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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":7296
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].atomicReduction.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.operation]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7296, __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, 7296, __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, 7296, __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":7297
 *     def operation(self):
 *         if self._pvt_ptr[0].atomicReduction.operation not in _dict_CUstreamBatchMemOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.operation]
 *     @operation.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7296
 *     @property
 *     def operation(self):
 *         if self._pvt_ptr[0].atomicReduction.operation not in _dict_CUstreamBatchMemOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.operation]
*/
  }

  /* "cuda/bindings/driver.pyx":7298
 *         if self._pvt_ptr[0].atomicReduction.operation not in _dict_CUstreamBatchMemOpType:
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.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, 7298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.operation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7298, __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, 7298, __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":7294
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         if self._pvt_ptr[0].atomicReduction.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.CUstreamMemOpAtomicReductionParams_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":7299
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].atomicReduction.operation = operation.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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, 7300, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_9operation_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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":7301
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].atomicReduction.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, 7301, __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, 7301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).atomicReduction.operation = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7299
 *             return None
 *         return _dict_CUstreamBatchMemOpType[self._pvt_ptr[0].atomicReduction.operation]
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].atomicReduction.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.CUstreamMemOpAtomicReductionParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7302
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].atomicReduction.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].atomicReduction.flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7304
 *     @property
 *     def flags(self):
 *         return self._pvt_ptr[0].atomicReduction.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]).atomicReduction.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7302
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._pvt_ptr[0].atomicReduction.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].atomicReduction.flags
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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":7305
 *     def flags(self):
 *         return self._pvt_ptr[0].atomicReduction.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].atomicReduction.flags = flags
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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, 7306, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":7307
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].atomicReduction.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reductionOp(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).atomicReduction.flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":7305
 *     def flags(self):
 *         return self._pvt_ptr[0].atomicReduction.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].atomicReduction.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7308
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].atomicReduction.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reductionOp(self):
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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":7310
 *     @property
 *     def reductionOp(self):
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamAtomicReductionOpType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.reductionOp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamAtomicReductionOpT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7310, __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, 7310, __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":7311
 *     def reductionOp(self):
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]
 *     @reductionOp.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7310
 *     @property
 *     def reductionOp(self):
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]
*/
  }

  /* "cuda/bindings/driver.pyx":7312
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:
 *             return None
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]             # <<<<<<<<<<<<<<
 *     @reductionOp.setter
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamAtomicReductionOpT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamAtomicReductionOpType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.reductionOp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7312, __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, 7312, __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":7308
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].atomicReduction.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reductionOp(self):
 *         if self._pvt_ptr[0].atomicReduction.reductionOp not in _dict_CUstreamAtomicReductionOpType:
*/

  /* 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.CUstreamMemOpAtomicReductionParams_st.reductionOp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7313
 *             return None
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]
 *     @reductionOp.setter             # <<<<<<<<<<<<<<
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
 *         self._pvt_ptr[0].atomicReduction.reductionOp = reductionOp.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reductionOp); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reductionOp) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_reductionOp) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "reductionOp"); __PYX_ERR(0, 7314, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_reductionOp));

  /* 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_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_reductionOp) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamAtomicReductionOpType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7315
 *     @reductionOp.setter
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
 *         self._pvt_ptr[0].atomicReduction.reductionOp = reductionOp.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dataType(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_reductionOp, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamAtomicReductionOpType_enum)__Pyx_PyLong_As_enum__CUstreamAtomicReductionOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).atomicReduction.reductionOp = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7313
 *             return None
 *         return _dict_CUstreamAtomicReductionOpType[self._pvt_ptr[0].atomicReduction.reductionOp]
 *     @reductionOp.setter             # <<<<<<<<<<<<<<
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
 *         self._pvt_ptr[0].atomicReduction.reductionOp = reductionOp.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.reductionOp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7316
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
 *         self._pvt_ptr[0].atomicReduction.reductionOp = reductionOp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dataType(self):
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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":7318
 *     @property
 *     def dataType(self):
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]
*/
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamAtomicReductionDataType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.dataType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamAtomicReductionDat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7318, __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, 7318, __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":7319
 *     def dataType(self):
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]
 *     @dataType.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7318
 *     @property
 *     def dataType(self):
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]
*/
  }

  /* "cuda/bindings/driver.pyx":7320
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:
 *             return None
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]             # <<<<<<<<<<<<<<
 *     @dataType.setter
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUstreamAtomicReductionDat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_enum__CUstreamAtomicReductionDataType_enum((__pyx_v_self->_pvt_ptr[0]).atomicReduction.dataType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7320, __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, 7320, __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":7316
 *     def reductionOp(self, reductionOp not None : CUstreamAtomicReductionOpType):
 *         self._pvt_ptr[0].atomicReduction.reductionOp = reductionOp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dataType(self):
 *         if self._pvt_ptr[0].atomicReduction.dataType not in _dict_CUstreamAtomicReductionDataType:
*/

  /* 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.CUstreamMemOpAtomicReductionParams_st.dataType.__get__", __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
 *             return None
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]
 *     @dataType.setter             # <<<<<<<<<<<<<<
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
 *         self._pvt_ptr[0].atomicReduction.dataType = dataType.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dataType); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dataType) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_dataType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "dataType"); __PYX_ERR(0, 7322, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_dataType));

  /* 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_37CUstreamMemOpAtomicReductionParams_st_8dataType_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_dataType) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamAtomicReductionDataType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7323
 *     @dataType.setter
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
 *         self._pvt_ptr[0].atomicReduction.dataType = dataType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def address(self):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamAtomicReductionDataType_enum)__Pyx_PyLong_As_enum__CUstreamAtomicReductionDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).atomicReduction.dataType = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":7321
 *             return None
 *         return _dict_CUstreamAtomicReductionDataType[self._pvt_ptr[0].atomicReduction.dataType]
 *     @dataType.setter             # <<<<<<<<<<<<<<
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
 *         self._pvt_ptr[0].atomicReduction.dataType = dataType.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st.dataType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7324
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
 *         self._pvt_ptr[0].atomicReduction.dataType = dataType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_7address___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7326
 *     @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":7324
 *     def dataType(self, dataType not None : CUstreamAtomicReductionDataType):
 *         self._pvt_ptr[0].atomicReduction.dataType = dataType.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":7327
 *     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_37CUstreamMemOpAtomicReductionParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_7address_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_address));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7330
 *     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":7331
 *         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":7330
 *     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":7332
 *         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":7333
 *             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, 7333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7334
 *         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, 7334, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7332
 *         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":7336
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_address};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7336, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":7337
 *         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, 7337, __pyx_L1_error)
    __pyx_v_cyaddress = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7338
 *             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":7327
 *     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_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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":7340
 *         self._address._pvt_ptr[0] = cyaddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5value___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7342
 *     @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":7340
 *         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":7343
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint64_t cyvalue
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5value_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self, PyObject *__pyx_v_value) {
  cuuint64_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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7346
 *     def value(self, value):
 *         cdef cydriver.cuuint64_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value, (cuuint64_t)):
*/
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":7347
 *         cdef cydriver.cuuint64_t cyvalue
 *         if value is None:
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value, (cuuint64_t)):
 *             pvalue = int(value)
*/
    __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":7346
 *     def value(self, value):
 *         cdef cydriver.cuuint64_t cyvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value, (cuuint64_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7348
 *         if value is None:
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
*/
  __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":7349
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value, (cuuint64_t)):
 *             pvalue = int(value)             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7350
 *         elif isinstance(value, (cuuint64_t)):
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue = int(cuuint64_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, 7350, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7348
 *         if value is None:
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(value, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7352
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *         else:
 *             pvalue = int(cuuint64_t(value))             # <<<<<<<<<<<<<<
 *             cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue
 *         self._value._pvt_ptr[0] = cyvalue
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7352, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7352, __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;

    /* "cuda/bindings/driver.pyx":7353
 *         else:
 *             pvalue = int(cuuint64_t(value))
 *             cyvalue = <cydriver.cuuint64_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, 7353, __pyx_L1_error)
    __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7354
 *             pvalue = int(cuuint64_t(value))
 *             cyvalue = <cydriver.cuuint64_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":7343
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef cydriver.cuuint64_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_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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":7356
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5alias___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7358
 *     @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":7356
 *         self._value._pvt_ptr[0] = cyvalue
 * 
 *     @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":7359
 *     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_37CUstreamMemOpAtomicReductionParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_5alias_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_alias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7362
 *     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":7363
 *         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":7362
 *     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":7364
 *         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":7365
 *             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, 7365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7366
 *         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, 7366, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7364
 *         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":7368
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_alias};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7368, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":7369
 *         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, 7369, __pyx_L1_error)
    __pyx_v_cyalias = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7370
 *             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":7359
 *     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_AddTraceback("cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__, "CUstreamMemOpAtomicReductionParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__, "CUstreamMemOpAtomicReductionParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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.CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUstreamMemOpAtomicReductionParams_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":7402
 *         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, 7402, __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, 7402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7402, __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, 7402, __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, 7402, __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, 7402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7403
 *     """
 *     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":7404
 *     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":7403
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7406
 *             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":7402
 *         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":7407
 *         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, 7407, __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, 7407, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7407, __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, 7407, __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, 7407, __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, 7407, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7409
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7409, __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":7410
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 7410, __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":7411
 *         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)
 *         self._atomicReduction = CUstreamMemOpAtomicReductionParams_st(_ptr=<void_ptr>self._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7411, __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":7412
 *         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)             # <<<<<<<<<<<<<<
 *         self._atomicReduction = CUstreamMemOpAtomicReductionParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *     def __dealloc__(self):
*/
  __pyx_t_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7412, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 7412, __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":7413
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._atomicReduction = CUstreamMemOpAtomicReductionParams_st(_ptr=<void_ptr>self._pvt_ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7413, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7413, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_atomicReduction);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_atomicReduction);
  __pyx_v_self->_atomicReduction = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":7407
 *         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_5);
  __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":7414
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._pvt_ptr)
 *         self._atomicReduction = CUstreamMemOpAtomicReductionParams_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":7416
 *     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":7417
 *         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, 7417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7416
 *     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":7418
 *     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_10genexpr122__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr123__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr124__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr125__pyx_v_line = 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":7419
 *         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":7420
 *     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, 7420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7421
 *         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":7422
 *             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, 7422, __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, 7422, __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, 7422, __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, 7422, __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, 7422, __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, 7422, __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":7421
 *         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":7423
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7423, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7424
 *                 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, 7424, __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, 7424, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7424, __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":7421
 *         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":7425
 *             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":7426
 *                 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, 7426, __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, 7426, __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, 7426, __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, 7426, __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, 7426, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7426, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr122__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr122__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7426, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7426, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_line); __pyx_10genexpr122__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_line); __pyx_10genexpr122__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, 7426, __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, 7426, __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, 7426, __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, 7426, __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, 7426, __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":7425
 *             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":7427
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7427, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7428
 *                 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, 7428, __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, 7428, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7428, __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":7425
 *             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":7429
 *             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":7430
 *                 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, 7430, __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, 7430, __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, 7430, __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, 7430, __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, 7430, __pyx_L35_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7430, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr123__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr123__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7430, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 7430, __pyx_L35_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_line); __pyx_10genexpr123__pyx_v_line = 0;
          goto __pyx_L39_exit_scope;
          __pyx_L35_error:;
          __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_line); __pyx_10genexpr123__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, 7430, __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, 7430, __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, 7430, __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, 7430, __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, 7430, __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":7429
 *             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":7431
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7431, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7432
 *                 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, 7432, __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, 7432, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7432, __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":7429
 *             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":7433
 *             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":7434
 *                 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, 7434, __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, 7434, __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, 7434, __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, 7434, __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, 7434, __pyx_L50_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7434, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr124__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr124__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7434, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 7434, __pyx_L50_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_line); __pyx_10genexpr124__pyx_v_line = 0;
          goto __pyx_L54_exit_scope;
          __pyx_L50_error:;
          __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_line); __pyx_10genexpr124__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, 7434, __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, 7434, __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, 7434, __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, 7434, __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, 7434, __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":7433
 *             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":7435
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7435, __pyx_L44_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7436
 *                 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, 7436, __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, 7436, __pyx_L44_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7436, __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":7433
 *             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":7437
 *             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":7438
 *                 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, 7438, __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, 7438, __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, 7438, __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, 7438, __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, 7438, __pyx_L65_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7438, __pyx_L65_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, 7438, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7438, __pyx_L65_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line); __pyx_10genexpr125__pyx_v_line = 0;
          goto __pyx_L69_exit_scope;
          __pyx_L65_error:;
          __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line); __pyx_10genexpr125__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, 7438, __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, 7438, __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, 7438, __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, 7438, __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, 7438, __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":7437
 *             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":7439
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7439, __pyx_L59_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7440
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7440, __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, 7440, __pyx_L59_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7440, __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":7437
 *             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":7441
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).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":7442
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['atomicReduction : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7442, __pyx_L80_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_atomicReduction_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7442, __pyx_L80_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7442, __pyx_L80_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, 7442, __pyx_L80_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, 7442, __pyx_L80_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7442, __pyx_L80_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr126__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr126__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7442, __pyx_L80_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 7442, __pyx_L80_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line); __pyx_10genexpr126__pyx_v_line = 0;
          goto __pyx_L84_exit_scope;
          __pyx_L80_error:;
          __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line); __pyx_10genexpr126__pyx_v_line = 0;
          goto __pyx_L72_error;
          __pyx_L84_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, 7442, __pyx_L72_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_atomicReduction, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7442, __pyx_L72_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, 7442, __pyx_L72_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, 7442, __pyx_L72_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, 7442, __pyx_L72_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":7441
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).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_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":7443
 *             try:
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['atomicReduction : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7443, __pyx_L74_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7444
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).splitlines()])]
 *             except ValueError:
 *                 str_list += ['atomicReduction : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7444, __pyx_L74_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_atomicReduction_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_atomicReduction_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_atomicReduction_ValueError) != (0)) __PYX_ERR(0, 7444, __pyx_L74_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7444, __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_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L73_exception_handled;
      }
      goto __pyx_L74_except_error;

      /* "cuda/bindings/driver.pyx":7441
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['atomicReduction :\n' + '\n'.join(['    ' + line for line in str(self.atomicReduction).splitlines()])]
 *             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":7445
 *             except ValueError:
 *                 str_list += ['atomicReduction : <ValueError>']
 *             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":7446
 *                 str_list += ['atomicReduction : <ValueError>']
 *             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, 7446, __pyx_L87_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7446, __pyx_L87_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_pad, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7446, __pyx_L87_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, 7446, __pyx_L87_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, 7446, __pyx_L87_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, 7446, __pyx_L87_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":7445
 *             except ValueError:
 *                 str_list += ['atomicReduction : <ValueError>']
 *             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_L92_try_end;
      __pyx_L87_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":7447
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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_8, &__pyx_t_6) < 0) __PYX_ERR(0, 7447, __pyx_L89_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7448
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7448, __pyx_L89_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, 7448, __pyx_L89_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7448, __pyx_L89_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_L88_exception_handled;
      }
      goto __pyx_L89_except_error;

      /* "cuda/bindings/driver.pyx":7445
 *             except ValueError:
 *                 str_list += ['atomicReduction : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
*/
      __pyx_L89_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L88_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      __pyx_L92_try_end:;
    }

    /* "cuda/bindings/driver.pyx":7449
 *             except ValueError:
 *                 str_list += ['pad : <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, 7449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7419
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7451
 *             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":7418
 *     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_10genexpr122__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr124__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr125__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr126__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7452
 *         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":7454
 *     @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, 7454, __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, 7454, __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, 7454, __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":7455
 *     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":7454
 *     @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":7456
 *         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, 7456, __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, 7456, __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, 7456, __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":7452
 *         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":7457
 *             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, 7458, __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":7459
 *     @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, 7459, __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, 7459, __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":7457
 *             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":7460
 *     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":7462
 *     @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":7460
 *     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":7463
 *     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, 7464, __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":7465
 *     @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((PyObject*)__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, 7465, __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, 7465, __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":7463
 *     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":7466
 *     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":7468
 *     @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":7466
 *     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":7469
 *     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, 7470, __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":7471
 *     @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((PyObject*)__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, 7471, __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, 7471, __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":7469
 *     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":7472
 *     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":7474
 *     @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":7472
 *     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":7475
 *     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, 7476, __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":7477
 *     @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((PyObject*)__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, 7477, __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, 7477, __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":7475
 *     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":7478
 *     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":7480
 *     @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":7478
 *     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":7481
 *     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, 7482, __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":7483
 *     @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 atomicReduction(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((PyObject*)__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, 7483, __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, 7483, __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":7481
 *     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":7484
 *     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 atomicReduction(self):
 *         return self._atomicReduction
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_15atomicReduction___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_15atomicReduction___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":7486
 *     @property
 *     def atomicReduction(self):
 *         return self._atomicReduction             # <<<<<<<<<<<<<<
 *     @atomicReduction.setter
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_atomicReduction);
  __pyx_r = ((PyObject *)__pyx_v_self->_atomicReduction);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7484
 *     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 atomicReduction(self):
 *         return self._atomicReduction
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7487
 *     def atomicReduction(self):
 *         return self._atomicReduction
 *     @atomicReduction.setter             # <<<<<<<<<<<<<<
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
 *         string.memcpy(&self._pvt_ptr[0].atomicReduction, <cydriver.CUstreamMemOpAtomicReductionParams_st*><void_ptr>atomicReduction.getPtr(), sizeof(self._pvt_ptr[0].atomicReduction))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_atomicReduction); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_atomicReduction) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_atomicReduction), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st, 0, "atomicReduction", 0))) __PYX_ERR(0, 7488, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)__pyx_v_atomicReduction));

  /* 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_15atomicReduction_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *__pyx_v_atomicReduction) {
  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":7489
 *     @atomicReduction.setter
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
 *         string.memcpy(&self._pvt_ptr[0].atomicReduction, <cydriver.CUstreamMemOpAtomicReductionParams_st*><void_ptr>atomicReduction.getPtr(), sizeof(self._pvt_ptr[0].atomicReduction))             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_atomicReduction);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__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, 7489, __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, 7489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).atomicReduction), ((struct CUstreamMemOpAtomicReductionParams_st *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).atomicReduction))));

  /* "cuda/bindings/driver.pyx":7487
 *     def atomicReduction(self):
 *         return self._atomicReduction
 *     @atomicReduction.setter             # <<<<<<<<<<<<<<
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
 *         string.memcpy(&self._pvt_ptr[0].atomicReduction, <cydriver.CUstreamMemOpAtomicReductionParams_st*><void_ptr>atomicReduction.getPtr(), sizeof(self._pvt_ptr[0].atomicReduction))
*/

  /* 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.atomicReduction.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7490
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
 *         string.memcpy(&self._pvt_ptr[0].atomicReduction, <cydriver.CUstreamMemOpAtomicReductionParams_st*><void_ptr>atomicReduction.getPtr(), sizeof(self._pvt_ptr[0].atomicReduction))
 *     @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_10genexpr127__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;
  size_t __pyx_t_8;
  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":7492
 *     @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, 7492, __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_10genexpr127__pyx_v__pad = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr127__pyx_v__pad); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7492, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7492, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7492, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7492, __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":7490
 *     def atomicReduction(self, atomicReduction not None : CUstreamMemOpAtomicReductionParams_st):
 *         string.memcpy(&self._pvt_ptr[0].atomicReduction, <cydriver.CUstreamMemOpAtomicReductionParams_st*><void_ptr>atomicReduction.getPtr(), sizeof(self._pvt_ptr[0].atomicReduction))
 *     @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_9);
  __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":7493
 *     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":7495
 *     @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, 7495, __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":7493
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7519
 *         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, 7519, __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, 7519, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7519, __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, 7519, __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, 7519, __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, 7519, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7520
 *     """
 *     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":7521
 *     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":7520
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7523
 *             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":7519
 *         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":7524
 *         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, 7524, __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, 7524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7524, __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, 7524, __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, 7524, __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, 7524, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7526
 *     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_t_3 = __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_3)) __PYX_ERR(0, 7526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7526, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7526, __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":7524
 *         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_5);
  __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":7527
 *         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":7529
 *     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":7530
 *         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":7529
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":7527
 *         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":7531
 *         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":7532
 *             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, 7532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7531
 *         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":7533
 *     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":7534
 *         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":7535
 *     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, 7535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7536
 *         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":7537
 *             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, 7537, __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, 7537, __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, 7537, __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, 7537, __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, 7537, __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, 7537, __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":7536
 *         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":7538
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7538, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7539
 *                 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, 7539, __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, 7539, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7539, __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":7536
 *         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":7540
 *             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":7541
 *                 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, 7541, __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, 7541, __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, 7541, __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, 7541, __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, 7541, __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, 7541, __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":7540
 *             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":7542
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7542, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7543
 *                 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, 7543, __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, 7543, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7543, __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":7540
 *             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":7544
 *             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":7545
 *                 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, 7545, __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, 7545, __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, 7545, __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, 7545, __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, 7545, __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, 7545, __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":7544
 *             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":7546
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7546, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7547
 *                 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, 7547, __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, 7547, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7547, __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":7544
 *             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":7548
 *             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":7549
 *                 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, 7549, __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, 7549, __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, 7549, __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, 7549, __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, 7549, __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, 7549, __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":7548
 *             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":7550
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7550, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7551
 *                 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, 7551, __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, 7551, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7551, __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":7548
 *             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":7552
 *             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, 7552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7534
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7554
 *             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":7533
 *     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":7555
 *         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":7557
 *     @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":7555
 *         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":7558
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7561
 *     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":7562
 *         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":7561
 *     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":7563
 *         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":7564
 *             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, 7564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7565
 *         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, 7565, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7563
 *         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":7567
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7567, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7567, __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;

    /* "cuda/bindings/driver.pyx":7568
 *         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, 7568, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7569
 *             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":7558
 *     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_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":7570
 *             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":7572
 *     @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, 7572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7570
 *             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":7573
 *     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, 7574, __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":7575
 *     @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":7573
 *     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":7576
 *     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_10genexpr128__pyx_v_x;
  PyObject *__pyx_10genexpr129__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7578
 *     @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, 7578, __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_10genexpr128__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_10genexpr128__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7578, __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":7579
 *     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, 7579, __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, 7579, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7579, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr129__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7579, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr129__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7579, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 7579, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 7579, __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_10genexpr129__pyx_v_arr); __pyx_10genexpr129__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr129__pyx_v_arr); __pyx_10genexpr129__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":7576
 *     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_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_10genexpr129__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7580
 *         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;
  size_t __pyx_t_8;
  CUstreamBatchMemOpParams *__pyx_t_9;
  Py_ssize_t __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":7582
 *     @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, 7582, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":7583
 *     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":7584
 *         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":7585
 *             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":7582
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7587
 *             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, 7587, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":7588
 *         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":7589
 *             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, 7589, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/bindings/driver.pyx":7590
 *                 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":7591
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7591, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7591, __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, 7591, __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, 7591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7591, __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(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7591, __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, 7591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7591, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7591, __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, 7591, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":7590
 *                 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":7592
 *                 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, 7592, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":7593
 *                     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_9 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_pvt_ptr[0]).paramArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":7587
 *             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":7594
 *                 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, 7594, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":7595
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7595, __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":7580
 *         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_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":7597
 *                 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":7599
 *     @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, 7599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7597
 *                 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":7600
 *     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, 7601, __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":7602
 *     @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":7600
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7624
 *         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, 7624, __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, 7624, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7624, __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, 7624, __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, 7624, __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, 7624, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7625
 *     """
 *     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":7626
 *     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":7625
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7628
 *             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":7624
 *         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":7629
 *         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, 7629, __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, 7629, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7629, __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, 7629, __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, 7629, __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, 7629, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7631
 *     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_t_3 = __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_3)) __PYX_ERR(0, 7631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7631, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7631, __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":7629
 *         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_5);
  __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":7632
 *         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":7634
 *     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":7635
 *         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":7634
 *     def __dealloc__(self):
 *         pass
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":7632
 *         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":7636
 *         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":7637
 *             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, 7637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7636
 *         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":7638
 *     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":7639
 *         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":7640
 *     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, 7640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7641
 *         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":7642
 *             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, 7642, __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, 7642, __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, 7642, __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, 7642, __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, 7642, __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, 7642, __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":7641
 *         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":7643
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7643, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7644
 *                 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, 7644, __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, 7644, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7644, __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":7641
 *         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":7645
 *             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":7646
 *                 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, 7646, __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, 7646, __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, 7646, __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, 7646, __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, 7646, __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, 7646, __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":7645
 *             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":7647
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7647, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7648
 *                 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, 7648, __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, 7648, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7648, __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":7645
 *             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":7649
 *             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":7650
 *                 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, 7650, __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, 7650, __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, 7650, __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, 7650, __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, 7650, __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, 7650, __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":7649
 *             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":7651
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7651, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7652
 *                 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, 7652, __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, 7652, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7652, __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":7649
 *             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":7653
 *             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":7654
 *                 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, 7654, __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, 7654, __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, 7654, __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, 7654, __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, 7654, __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, 7654, __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":7653
 *             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":7655
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7655, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7656
 *                 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, 7656, __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, 7656, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7656, __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":7653
 *             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":7657
 *             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, 7657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7639
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7659
 *             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":7638
 *     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":7660
 *         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":7662
 *     @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":7660
 *         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":7663
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":7666
 *     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":7667
 *         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":7666
 *     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":7668
 *         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":7669
 *             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, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7670
 *         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, 7670, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":7668
 *         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":7672
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7672, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7672, __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;

    /* "cuda/bindings/driver.pyx":7673
 *         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, 7673, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":7674
 *             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":7663
 *     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_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":7675
 *             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":7677
 *     @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, 7677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7675
 *             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":7678
 *     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, 7679, __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":7680
 *     @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":7678
 *     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":7681
 *     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_10genexpr130__pyx_v_x;
  PyObject *__pyx_10genexpr131__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":7683
 *     @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, 7683, __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_10genexpr130__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_10genexpr130__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7683, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7683, __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":7684
 *     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, 7684, __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, 7684, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7684, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr131__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7684, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr131__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7684, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 7684, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 7684, __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_10genexpr131__pyx_v_arr); __pyx_10genexpr131__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_arr); __pyx_10genexpr131__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":7681
 *     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_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_10genexpr131__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7685
 *         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;
  size_t __pyx_t_8;
  CUstreamBatchMemOpParams *__pyx_t_9;
  Py_ssize_t __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":7687
 *     @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, 7687, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":7688
 *     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":7689
 *         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":7690
 *             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":7687
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7692
 *             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, 7692, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":7693
 *         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":7694
 *             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, 7694, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/bindings/driver.pyx":7695
 *                 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":7696
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7696, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7696, __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, 7696, __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, 7696, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7696, __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(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7696, __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, 7696, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7696, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7696, __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, 7696, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":7695
 *                 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":7697
 *                 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, 7697, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":7698
 *                     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_9 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_pvt_ptr[0]).paramArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":7692
 *             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":7699
 *                 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, 7699, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":7700
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7700, __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":7685
 *         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_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":7702
 *                 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":7704
 *     @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, 7704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7702
 *                 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":7705
 *     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, 7706, __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":7707
 *     @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":7705
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7721
 *         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, 7721, __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, 7721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7721, __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, 7721, __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, 7721, __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, 7721, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7722
 *     """
 *     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":7721
 *         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":7724
 *         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, 7724, __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, 7724, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7724, __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, 7724, __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, 7724, __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, 7724, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7724, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7726
 *     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":7728
 *     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":7729
 *         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, 7729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7728
 *     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":7730
 *     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":7731
 *         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":7732
 *     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, 7732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7733
 *         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":7734
 *             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, 7734, __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, 7734, __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, 7734, __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, 7734, __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, 7734, __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, 7734, __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":7733
 *         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":7735
 *             try:
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7735, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7736
 *                 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, 7736, __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, 7736, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7736, __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":7733
 *         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":7737
 *             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, 7737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7731
 *         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":7739
 *             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":7730
 *     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":7740
 *         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":7742
 *     @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, 7742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7740
 *         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":7743
 *     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, 7744, __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":7745
 *     @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":7743
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7759
 *         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, 7759, __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, 7759, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7759, __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, 7759, __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, 7759, __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, 7759, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7759, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7760
 *     """
 *     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":7759
 *         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":7762
 *         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, 7762, __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, 7762, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7762, __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, 7762, __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, 7762, __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, 7762, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 7762, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7764
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7764, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7764, __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":7762
 *         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_5);
  __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":7765
 *         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":7767
 *     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":7768
 *         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, 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":7767
 *     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":7769
 *     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_10genexpr132__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":7770
 *         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":7771
 *     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, 7771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7772
 *         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":7773
 *             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, 7773, __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, 7773, __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, 7773, __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, 7773, __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, 7773, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7773, __pyx_L12_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, 7773, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7773, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_line); __pyx_10genexpr132__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_line); __pyx_10genexpr132__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, 7773, __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, 7773, __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, 7773, __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, 7773, __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, 7773, __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":7772
 *         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":7774
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7774, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7775
 *                 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, 7775, __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, 7775, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 7775, __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":7772
 *         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":7776
 *             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, 7776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7770
 *         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":7778
 *             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":7769
 *     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_10genexpr132__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7779
 *         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":7781
 *     @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":7779
 *         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":7782
 *     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, 7783, __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":7784
 *     @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((PyObject*)__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, 7784, __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, 7784, __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":7782
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7803
 *         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, 7803, __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, 7803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7803, __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, 7803, __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, 7803, __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, 7803, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7804
 *     """
 *     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":7805
 *     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":7806
 *         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":7804
 *     """
 *     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":7808
 *             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":7803
 *         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":7809
 *         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, 7809, __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, 7809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7809, __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, 7809, __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, 7809, __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, 7809, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":7811
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 7811, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 7811, __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":7809
 *         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_5);
  __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":7812
 *         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":7813
 *         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":7814
 *     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":7813
 *         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":7812
 *         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":7815
 *         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":7816
 *             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, 7816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7815
 *         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":7817
 *     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_10genexpr133__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":7818
 *         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":7819
 *     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, 7819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7820
 *         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":7821
 *             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, 7821, __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, 7821, __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, 7821, __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, 7821, __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, 7821, __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, 7821, __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":7820
 *         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":7822
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7822, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7823
 *                 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, 7823, __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, 7823, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7823, __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":7820
 *         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":7824
 *             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":7825
 *                 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, 7825, __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, 7825, __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, 7825, __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, 7825, __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, 7825, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7825, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr133__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr133__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7825, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 7825, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr133__pyx_v_line); __pyx_10genexpr133__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr133__pyx_v_line); __pyx_10genexpr133__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, 7825, __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, 7825, __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, 7825, __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, 7825, __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, 7825, __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":7824
 *             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":7826
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 7826, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":7827
 *                 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, 7827, __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, 7827, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7827, __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":7824
 *             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":7828
 *             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, 7828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7818
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7830
 *             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":7817
 *     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_10genexpr133__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":7831
 *         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":7833
 *     @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, 7833, __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, 7833, __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, 7833, __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":7834
 *     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":7833
 *     @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":7835
 *         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, 7835, __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, 7835, __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, 7835, __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":7831
 *         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":7836
 *             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, 7837, __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":7838
 *     @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, 7838, __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, 7838, __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":7836
 *             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":7839
 *     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":7841
 *     @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":7839
 *     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":7842
 *     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, 7843, __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":7844
 *     @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((PyObject*)__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, 7844, __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, 7844, __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":7842
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":7878
 *         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, 7878, __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, 7878, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7878, __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, 7878, __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, 7878, __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, 7878, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7879
 *     """
 *     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":7880
 *     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":7879
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":7882
 *             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":7878
 *         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":7883
 *         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, 7883, __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, 7883, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 7883, __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, 7883, __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, 7883, __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, 7883, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":7885
 *     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":7887
 *     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":7888
 *         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, 7888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7887
 *     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":7889
 *     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":7890
 *         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":7891
 *     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, 7891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":7892
 *         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":7893
 *             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, 7893, __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, 7893, __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, 7893, __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, 7893, __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, 7893, __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, 7893, __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":7892
 *         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":7894
 *             try:
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7894, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7895
 *                 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, 7895, __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, 7895, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7895, __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":7892
 *         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":7896
 *             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":7897
 *                 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, 7897, __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, 7897, __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, 7897, __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, 7897, __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, 7897, __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, 7897, __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":7896
 *             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":7898
 *             try:
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7898, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7899
 *                 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, 7899, __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, 7899, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7899, __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":7896
 *             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":7900
 *             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":7901
 *                 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, 7901, __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, 7901, __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, 7901, __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, 7901, __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, 7901, __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, 7901, __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":7900
 *             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":7902
 *             try:
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7902, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7903
 *                 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, 7903, __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, 7903, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7903, __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":7900
 *             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":7904
 *             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":7905
 *                 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, 7905, __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, 7905, __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, 7905, __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, 7905, __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, 7905, __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, 7905, __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":7904
 *             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":7906
 *             try:
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7906, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7907
 *                 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, 7907, __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, 7907, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7907, __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":7904
 *             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":7908
 *             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":7909
 *                 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, 7909, __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, 7909, __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, 7909, __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, 7909, __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, 7909, __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, 7909, __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":7908
 *             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":7910
 *             try:
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7910, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7911
 *                 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, 7911, __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, 7911, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7911, __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":7908
 *             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":7912
 *             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":7913
 *                 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, 7913, __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, 7913, __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, 7913, __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, 7913, __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, 7913, __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, 7913, __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":7912
 *             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":7914
 *             try:
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7914, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7915
 *                 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, 7915, __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, 7915, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7915, __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":7912
 *             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":7916
 *             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":7917
 *                 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, 7917, __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, 7917, __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, 7917, __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, 7917, __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, 7917, __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, 7917, __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":7916
 *             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":7918
 *             try:
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7918, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7919
 *                 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, 7919, __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, 7919, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7919, __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":7916
 *             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":7920
 *             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":7921
 *                 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, 7921, __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, 7921, __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, 7921, __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, 7921, __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, 7921, __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, 7921, __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":7920
 *             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":7922
 *             try:
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7922, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7923
 *                 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, 7923, __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, 7923, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7923, __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":7920
 *             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":7924
 *             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":7925
 *                 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, 7925, __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, 7925, __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, 7925, __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, 7925, __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, 7925, __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, 7925, __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":7924
 *             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":7926
 *             try:
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7926, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":7927
 *                 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, 7927, __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, 7927, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 7927, __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":7924
 *             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":7928
 *             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":7929
 *                 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, 7929, __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, 7929, __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, 7929, __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, 7929, __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, 7929, __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, 7929, __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":7928
 *             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":7930
 *             try:
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 7930, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":7931
 *                 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, 7931, __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, 7931, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7931, __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":7928
 *             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":7932
 *             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, 7932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":7890
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":7934
 *             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":7889
 *     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":7935
 *         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":7937
 *     @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, 7937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7935
 *         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":7938
 *     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, 7939, __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":7940
 *     @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":7938
 *     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":7941
 *     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":7943
 *     @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, 7943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7941
 *     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":7944
 *     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":7946
 *     @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, 7946, __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":7944
 *     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":7947
 *     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":7949
 *     @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, 7949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7947
 *     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":7950
 *     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":7952
 *     @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, 7952, __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":7950
 *     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":7953
 *     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":7955
 *     @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, 7955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7953
 *     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":7956
 *     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, 7957, __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":7958
 *     @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":7956
 *     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":7959
 *     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":7961
 *     @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, 7961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7959
 *     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":7962
 *     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, 7963, __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":7964
 *     @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":7962
 *     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":7965
 *     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":7967
 *     @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, 7967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7965
 *     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":7968
 *     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, 7969, __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":7970
 *     @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":7968
 *     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":7971
 *     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":7973
 *     @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, 7973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7971
 *     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":7974
 *     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, 7975, __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":7976
 *     @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":7974
 *     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":7977
 *     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":7979
 *     @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, 7979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7977
 *     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":7980
 *     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, 7981, __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":7982
 *     @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":7980
 *     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":7983
 *     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":7985
 *     @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, 7985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7983
 *     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":7986
 *     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, 7987, __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":7988
 *     @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":7986
 *     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":7989
 *     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":7991
 *     @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, 7991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":7989
 *     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":7992
 *     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, 7993, __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":7994
 *     @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":7992
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8030
 *         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, 8030, __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, 8030, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8030, __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, 8030, __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, 8030, __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, 8030, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8031
 *     """
 *     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":8032
 *     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":8031
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8034
 *             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":8030
 *         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":8035
 *         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, 8035, __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, 8035, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8035, __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, 8035, __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, 8035, __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, 8035, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8037
 *     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":8039
 *     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":8040
 *         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, 8040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8039
 *     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":8041
 *     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;
  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":8042
 *         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":8043
 *     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, 8043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8044
 *         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":8045
 *             str_list = []
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['base_ptr : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base_ptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8045, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8045, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_base_ptr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8045, __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, 8045, __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, 8045, __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, 8045, __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":8044
 *         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;

      /* "cuda/bindings/driver.pyx":8046
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8046, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8047
 *                 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_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8047, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_base_ptr_ValueError) != (0)) __PYX_ERR(0, 8047, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8047, __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":8044
 *         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":8048
 *             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":8049
 *                 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, 8049, __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, 8049, __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_num_bytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8049, __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, 8049, __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, 8049, __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, 8049, __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":8048
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8050
 *             try:
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8050, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8051
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:
 *                 str_list += ['num_bytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8051, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_num_bytes_ValueError) != (0)) __PYX_ERR(0, 8051, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8051, __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":8048
 *             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":8052
 *             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":8053
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_hitRatio_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8053, __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, 8053, __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_hitRatio, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8053, __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, 8053, __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, 8053, __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, 8053, __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":8052
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8054
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8054, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8055
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:
 *                 str_list += ['hitRatio : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8055, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_hitRatio_ValueError) != (0)) __PYX_ERR(0, 8055, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8055, __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":8052
 *             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":8056
 *             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":8057
 *                 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, 8057, __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, 8057, __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_hitProp, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8057, __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, 8057, __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, 8057, __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, 8057, __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":8056
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8058
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8058, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8059
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:
 *                 str_list += ['hitProp : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8059, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_hitProp_ValueError) != (0)) __PYX_ERR(0, 8059, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8059, __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":8056
 *             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":8060
 *             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":8061
 *                 str_list += ['hitProp : <ValueError>']
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_missProp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8061, __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, 8061, __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_missProp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8061, __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, 8061, __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, 8061, __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, 8061, __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":8060
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":8062
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 8062, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8063
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8063, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_missProp_ValueError) != (0)) __PYX_ERR(0, 8063, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8063, __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":8060
 *             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":8064
 *             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, 8064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8042
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8066
 *             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":8041
 *     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.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":8067
 *         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":8069
 *     @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, 8069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8067
 *         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":8070
 *     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;
  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":8072
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_base_ptr};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8072, __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":8073
 *     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, 8073, __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, 8073, __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_4));

  /* "cuda/bindings/driver.pyx":8070
 *     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_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":8074
 *         _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":8076
 *     @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, 8076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8074
 *         _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":8077
 *     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, 8078, __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":8079
 *     @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":8077
 *     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":8080
 *     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":8082
 *     @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, 8082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8080
 *     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":8083
 *     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, 8084, __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":8085
 *     @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":8083
 *     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":8086
 *     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":8088
 *     @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, 8088, __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, 8088, __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, 8088, __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":8089
 *     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":8088
 *     @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":8090
 *         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, 8090, __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, 8090, __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, 8090, __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":8086
 *     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":8091
 *             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, 8092, __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":8093
 *     @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, 8093, __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, 8093, __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":8091
 *             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":8094
 *     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":8096
 *     @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, 8096, __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, 8096, __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, 8096, __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":8097
 *     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":8096
 *     @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":8098
 *         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, 8098, __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, 8098, __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, 8098, __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":8094
 *     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":8099
 *             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, 8100, __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":8101
 *     @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, 8101, __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, 8101, __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":8099
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8135
 *         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, 8135, __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, 8135, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8135, __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, 8135, __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, 8135, __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, 8135, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8136
 *     """
 *     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":8137
 *     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":8136
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8139
 *             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":8135
 *         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":8140
 *         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, 8140, __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, 8140, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8140, __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, 8140, __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, 8140, __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, 8140, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8142
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8142, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8142, __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":8140
 *         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_5);
  __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":8143
 *         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":8145
 *     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":8146
 *         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, 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":8145
 *     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":8147
 *     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":8148
 *         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":8149
 *     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, 8149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8150
 *         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":8151
 *             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, 8151, __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, 8151, __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, 8151, __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, 8151, __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, 8151, __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, 8151, __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":8150
 *         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":8152
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8152, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8153
 *                 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, 8153, __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, 8153, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8153, __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":8150
 *         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":8154
 *             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":8155
 *                 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, 8155, __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, 8155, __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, 8155, __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, 8155, __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, 8155, __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, 8155, __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":8154
 *             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":8156
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8156, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8157
 *                 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, 8157, __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, 8157, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8157, __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":8154
 *             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":8158
 *             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":8159
 *                 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, 8159, __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, 8159, __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, 8159, __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, 8159, __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, 8159, __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, 8159, __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":8158
 *             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":8160
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8160, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8161
 *                 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, 8161, __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, 8161, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8161, __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":8158
 *             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":8162
 *             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":8163
 *                 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, 8163, __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, 8163, __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, 8163, __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, 8163, __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, 8163, __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, 8163, __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":8162
 *             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":8164
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8164, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8165
 *                 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, 8165, __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, 8165, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8165, __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":8162
 *             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":8166
 *             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":8167
 *                 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, 8167, __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, 8167, __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, 8167, __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, 8167, __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, 8167, __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, 8167, __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":8166
 *             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":8168
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8168, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8169
 *                 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, 8169, __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, 8169, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8169, __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":8166
 *             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":8170
 *             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":8171
 *                 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, 8171, __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, 8171, __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, 8171, __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, 8171, __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, 8171, __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, 8171, __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":8170
 *             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":8172
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8172, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8173
 *                 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, 8173, __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, 8173, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8173, __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":8170
 *             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":8174
 *             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":8175
 *                 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, 8175, __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, 8175, __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, 8175, __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, 8175, __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, 8175, __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, 8175, __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":8174
 *             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":8176
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8176, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8177
 *                 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, 8177, __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, 8177, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8177, __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":8174
 *             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":8178
 *             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":8179
 *                 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, 8179, __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, 8179, __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, 8179, __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, 8179, __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, 8179, __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, 8179, __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":8178
 *             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":8180
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8180, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8181
 *                 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, 8181, __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, 8181, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8181, __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":8178
 *             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":8182
 *             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":8183
 *                 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, 8183, __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, 8183, __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, 8183, __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, 8183, __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, 8183, __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, 8183, __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":8182
 *             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":8184
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8184, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8185
 *                 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, 8185, __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, 8185, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8185, __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":8182
 *             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":8186
 *             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":8187
 *                 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, 8187, __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, 8187, __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, 8187, __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, 8187, __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, 8187, __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, 8187, __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":8186
 *             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":8188
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8188, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8189
 *                 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, 8189, __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, 8189, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8189, __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":8186
 *             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":8190
 *             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, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8148
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8192
 *             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":8147
 *     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":8193
 *         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":8195
 *     @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":8193
 *         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":8196
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8199
 *     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":8200
 *         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":8199
 *     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":8201
 *         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":8202
 *             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, 8202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8203
 *         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, 8203, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8201
 *         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":8205
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8205, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8205, __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;

    /* "cuda/bindings/driver.pyx":8206
 *         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, 8206, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8207
 *             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":8196
 *     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_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":8208
 *             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":8210
 *     @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, 8210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8208
 *             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":8211
 *     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, 8212, __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":8213
 *     @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":8211
 *     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":8214
 *     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":8216
 *     @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, 8216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8214
 *     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":8217
 *     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, 8218, __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":8219
 *     @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":8217
 *     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":8220
 *     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":8222
 *     @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, 8222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8220
 *     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":8223
 *     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, 8224, __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":8225
 *     @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":8223
 *     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":8226
 *     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":8228
 *     @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, 8228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8226
 *     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":8229
 *     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, 8230, __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":8231
 *     @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":8229
 *     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":8232
 *     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":8234
 *     @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, 8234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8232
 *     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":8235
 *     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, 8236, __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":8237
 *     @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":8235
 *     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":8238
 *     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":8240
 *     @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, 8240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8238
 *     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":8241
 *     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, 8242, __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":8243
 *     @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":8241
 *     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":8244
 *     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":8246
 *     @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, 8246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8244
 *     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":8247
 *     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, 8248, __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":8249
 *     @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":8247
 *     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":8250
 *     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":8252
 *     @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, 8252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8250
 *     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":8253
 *     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;
  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":8255
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8255, __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":8256
 *     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, 8256, __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, 8256, __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_4));

  /* "cuda/bindings/driver.pyx":8253
 *     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_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":8257
 *         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":8259
 *     @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, 8259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8257
 *         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":8260
 *     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, 8261, __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":8262
 *     @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":8260
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8302
 *         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, 8302, __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, 8302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8302, __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, 8302, __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, 8302, __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, 8302, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8303
 *     """
 *     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":8304
 *     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":8303
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8306
 *             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":8302
 *         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":8307
 *         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, 8307, __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, 8307, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8307, __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, 8307, __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, 8307, __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, 8307, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8309
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8309, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8309, __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":8310
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 8310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8310, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 8310, __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":8311
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 8311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8311, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8311, __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":8307
 *         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_5);
  __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":8312
 *         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":8314
 *     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":8315
 *         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, 8315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8314
 *     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":8316
 *     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":8317
 *         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":8318
 *     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, 8318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8319
 *         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":8320
 *             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, 8320, __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, 8320, __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, 8320, __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, 8320, __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, 8320, __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, 8320, __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":8319
 *         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":8321
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8321, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8322
 *                 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, 8322, __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, 8322, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8322, __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":8319
 *         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":8323
 *             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":8324
 *                 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, 8324, __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, 8324, __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, 8324, __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, 8324, __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, 8324, __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, 8324, __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":8323
 *             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":8325
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8325, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8326
 *                 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, 8326, __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, 8326, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8326, __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":8323
 *             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":8327
 *             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":8328
 *                 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, 8328, __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, 8328, __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, 8328, __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, 8328, __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, 8328, __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, 8328, __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":8327
 *             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":8329
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8329, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8330
 *                 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, 8330, __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, 8330, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8330, __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":8327
 *             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":8331
 *             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":8332
 *                 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, 8332, __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, 8332, __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, 8332, __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, 8332, __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, 8332, __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, 8332, __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":8331
 *             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":8333
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8333, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8334
 *                 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, 8334, __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, 8334, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8334, __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":8331
 *             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":8335
 *             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":8336
 *                 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, 8336, __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, 8336, __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, 8336, __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, 8336, __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, 8336, __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, 8336, __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":8335
 *             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":8337
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8337, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8338
 *                 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, 8338, __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, 8338, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8338, __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":8335
 *             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":8339
 *             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":8340
 *                 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, 8340, __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, 8340, __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, 8340, __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, 8340, __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, 8340, __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, 8340, __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":8339
 *             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":8341
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8341, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8342
 *                 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, 8342, __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, 8342, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8342, __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":8339
 *             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":8343
 *             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":8344
 *                 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, 8344, __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, 8344, __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, 8344, __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, 8344, __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, 8344, __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, 8344, __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":8343
 *             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":8345
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8345, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8346
 *                 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, 8346, __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, 8346, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8346, __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":8343
 *             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":8347
 *             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":8348
 *                 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, 8348, __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, 8348, __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, 8348, __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, 8348, __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, 8348, __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, 8348, __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":8347
 *             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":8349
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8349, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8350
 *                 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, 8350, __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, 8350, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8350, __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":8347
 *             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":8351
 *             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":8352
 *                 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, 8352, __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, 8352, __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, 8352, __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, 8352, __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, 8352, __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, 8352, __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":8351
 *             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":8353
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8353, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8354
 *                 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, 8354, __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, 8354, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8354, __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":8351
 *             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":8355
 *             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":8356
 *                 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, 8356, __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, 8356, __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, 8356, __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, 8356, __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, 8356, __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, 8356, __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":8355
 *             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":8357
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8357, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8358
 *                 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, 8358, __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, 8358, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8358, __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":8355
 *             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":8359
 *             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":8360
 *                 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, 8360, __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, 8360, __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, 8360, __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, 8360, __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, 8360, __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, 8360, __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":8359
 *             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":8361
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8361, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8362
 *                 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, 8362, __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, 8362, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8362, __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":8359
 *             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":8363
 *             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":8364
 *                 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, 8364, __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, 8364, __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, 8364, __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, 8364, __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, 8364, __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, 8364, __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":8363
 *             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":8365
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8365, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8366
 *                 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, 8366, __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, 8366, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8366, __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":8363
 *             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":8367
 *             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, 8367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8317
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8369
 *             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":8316
 *     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":8370
 *         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":8372
 *     @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":8370
 *         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":8373
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8376
 *     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":8377
 *         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":8376
 *     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":8378
 *         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":8379
 *             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, 8379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8380
 *         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, 8380, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8378
 *         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":8382
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8382, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8382, __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;

    /* "cuda/bindings/driver.pyx":8383
 *         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, 8383, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8384
 *             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":8373
 *     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_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":8385
 *             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":8387
 *     @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, 8387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8385
 *             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":8388
 *     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, 8389, __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":8390
 *     @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":8388
 *     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":8391
 *     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":8393
 *     @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, 8393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8391
 *     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":8394
 *     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, 8395, __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":8396
 *     @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":8394
 *     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":8397
 *     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":8399
 *     @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, 8399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8397
 *     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":8400
 *     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, 8401, __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":8402
 *     @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":8400
 *     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":8403
 *     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":8405
 *     @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, 8405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8403
 *     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":8406
 *     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, 8407, __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":8408
 *     @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":8406
 *     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":8409
 *     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":8411
 *     @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, 8411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8409
 *     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":8412
 *     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, 8413, __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":8414
 *     @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":8412
 *     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":8415
 *     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":8417
 *     @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, 8417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8415
 *     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":8418
 *     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, 8419, __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":8420
 *     @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":8418
 *     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":8421
 *     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":8423
 *     @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, 8423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8421
 *     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":8424
 *     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, 8425, __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":8426
 *     @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":8424
 *     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":8427
 *     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":8429
 *     @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, 8429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8427
 *     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":8430
 *     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;
  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":8432
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8432, __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":8433
 *     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, 8433, __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, 8433, __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_4));

  /* "cuda/bindings/driver.pyx":8430
 *     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_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":8434
 *         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":8436
 *     @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, 8436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8434
 *         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":8437
 *     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, 8438, __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":8439
 *     @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":8437
 *     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":8440
 *     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":8442
 *     @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":8440
 *     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":8443
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8446
 *     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":8447
 *         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":8446
 *     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":8448
 *         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":8449
 *             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, 8449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8450
 *         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, 8450, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8448
 *         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":8452
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kern};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8452, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":8453
 *         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, 8453, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8454
 *             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":8443
 *     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_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":8455
 *             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":8457
 *     @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":8455
 *             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":8458
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8461
 *     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":8462
 *         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":8461
 *     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":8463
 *         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":8464
 *             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, 8464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8465
 *         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, 8465, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8463
 *         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":8467
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8467, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8467, __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;

    /* "cuda/bindings/driver.pyx":8468
 *         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, 8468, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8469
 *             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":8458
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8509
 *         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, 8509, __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, 8509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8509, __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, 8509, __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, 8509, __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, 8509, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8510
 *     """
 *     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":8511
 *     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":8510
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8513
 *             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":8509
 *         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":8514
 *         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, 8514, __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, 8514, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8514, __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, 8514, __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, 8514, __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, 8514, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8516
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8516, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8516, __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":8517
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 8517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8517, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 8517, __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":8518
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 8518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8518, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8518, __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":8514
 *         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_5);
  __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":8519
 *         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":8521
 *     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":8522
 *         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, 8522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8521
 *     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":8523
 *     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":8524
 *         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":8525
 *     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, 8525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8526
 *         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":8527
 *             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, 8527, __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, 8527, __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, 8527, __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, 8527, __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, 8527, __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, 8527, __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":8526
 *         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":8528
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8528, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8529
 *                 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, 8529, __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, 8529, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8529, __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":8526
 *         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":8530
 *             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":8531
 *                 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, 8531, __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, 8531, __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, 8531, __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, 8531, __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, 8531, __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, 8531, __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":8530
 *             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":8532
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8532, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8533
 *                 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, 8533, __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, 8533, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8533, __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":8530
 *             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":8534
 *             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":8535
 *                 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, 8535, __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, 8535, __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, 8535, __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, 8535, __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, 8535, __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, 8535, __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":8534
 *             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":8536
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8536, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8537
 *                 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, 8537, __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, 8537, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8537, __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":8534
 *             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":8538
 *             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":8539
 *                 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, 8539, __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, 8539, __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, 8539, __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, 8539, __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, 8539, __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, 8539, __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":8538
 *             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":8540
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8540, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8541
 *                 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, 8541, __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, 8541, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8541, __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":8538
 *             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":8542
 *             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":8543
 *                 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, 8543, __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, 8543, __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, 8543, __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, 8543, __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, 8543, __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, 8543, __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":8542
 *             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":8544
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8544, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8545
 *                 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, 8545, __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, 8545, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8545, __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":8542
 *             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":8546
 *             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":8547
 *                 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, 8547, __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, 8547, __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, 8547, __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, 8547, __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, 8547, __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, 8547, __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":8546
 *             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":8548
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8548, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8549
 *                 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, 8549, __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, 8549, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8549, __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":8546
 *             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":8550
 *             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":8551
 *                 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, 8551, __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, 8551, __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, 8551, __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, 8551, __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, 8551, __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, 8551, __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":8550
 *             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":8552
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8552, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8553
 *                 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, 8553, __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, 8553, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8553, __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":8550
 *             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":8554
 *             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":8555
 *                 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, 8555, __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, 8555, __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, 8555, __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, 8555, __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, 8555, __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, 8555, __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":8554
 *             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":8556
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8556, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8557
 *                 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, 8557, __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, 8557, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8557, __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":8554
 *             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":8558
 *             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":8559
 *                 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, 8559, __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, 8559, __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, 8559, __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, 8559, __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, 8559, __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, 8559, __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":8558
 *             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":8560
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8560, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8561
 *                 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, 8561, __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, 8561, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8561, __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":8558
 *             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":8562
 *             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":8563
 *                 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, 8563, __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, 8563, __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, 8563, __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, 8563, __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, 8563, __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, 8563, __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":8562
 *             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":8564
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8564, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8565
 *                 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, 8565, __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, 8565, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8565, __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":8562
 *             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":8566
 *             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":8567
 *                 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, 8567, __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, 8567, __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, 8567, __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, 8567, __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, 8567, __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, 8567, __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":8566
 *             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":8568
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8568, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8569
 *                 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, 8569, __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, 8569, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8569, __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":8566
 *             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":8570
 *             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":8571
 *                 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, 8571, __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, 8571, __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, 8571, __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, 8571, __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, 8571, __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, 8571, __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":8570
 *             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":8572
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8572, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8573
 *                 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, 8573, __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, 8573, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8573, __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":8570
 *             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":8574
 *             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, 8574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8524
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8576
 *             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":8523
 *     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":8577
 *         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":8579
 *     @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":8577
 *         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":8580
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8583
 *     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":8584
 *         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":8583
 *     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":8585
 *         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":8586
 *             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, 8586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8587
 *         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, 8587, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8585
 *         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":8589
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8589, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8589, __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;

    /* "cuda/bindings/driver.pyx":8590
 *         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, 8590, __pyx_L1_error)
    __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8591
 *             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":8580
 *     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_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":8592
 *             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":8594
 *     @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, 8594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8592
 *             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":8595
 *     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, 8596, __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":8597
 *     @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":8595
 *     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":8598
 *     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":8600
 *     @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, 8600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8598
 *     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":8601
 *     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, 8602, __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":8603
 *     @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":8601
 *     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":8604
 *     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":8606
 *     @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, 8606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8604
 *     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":8607
 *     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, 8608, __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":8609
 *     @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":8607
 *     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":8610
 *     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":8612
 *     @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, 8612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8610
 *     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":8613
 *     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, 8614, __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":8615
 *     @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":8613
 *     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":8616
 *     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":8618
 *     @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, 8618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8616
 *     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":8619
 *     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, 8620, __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":8621
 *     @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":8619
 *     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":8622
 *     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":8624
 *     @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, 8624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8622
 *     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":8625
 *     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, 8626, __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":8627
 *     @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":8625
 *     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":8628
 *     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":8630
 *     @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, 8630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8628
 *     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":8631
 *     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, 8632, __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":8633
 *     @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":8631
 *     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":8634
 *     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":8636
 *     @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, 8636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8634
 *     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":8637
 *     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;
  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":8639
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8639, __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":8640
 *     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, 8640, __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, 8640, __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_4));

  /* "cuda/bindings/driver.pyx":8637
 *     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_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":8641
 *         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":8643
 *     @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, 8643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8641
 *         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":8644
 *     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, 8645, __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":8646
 *     @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":8644
 *     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":8647
 *     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":8649
 *     @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":8647
 *     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":8650
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8653
 *     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":8654
 *         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":8653
 *     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":8655
 *         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":8656
 *             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, 8656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8657
 *         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, 8657, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8655
 *         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":8659
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_kern};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8659, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":8660
 *         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, 8660, __pyx_L1_error)
    __pyx_v_cykern = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8661
 *             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":8650
 *     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_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":8662
 *             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":8664
 *     @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":8662
 *             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":8665
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8668
 *     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":8669
 *         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":8668
 *     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":8670
 *         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":8671
 *             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, 8671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8672
 *         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, 8672, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8670
 *         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":8674
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8674, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8674, __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;

    /* "cuda/bindings/driver.pyx":8675
 *         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, 8675, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8676
 *             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":8665
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8702
 *         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, 8702, __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, 8702, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8702, __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, 8702, __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, 8702, __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, 8702, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8703
 *     """
 *     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":8704
 *     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":8703
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8706
 *             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":8702
 *         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":8707
 *         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, 8707, __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, 8707, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8707, __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, 8707, __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, 8707, __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, 8707, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8709
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8709, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8709, __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":8707
 *         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_5);
  __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":8710
 *         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":8712
 *     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":8713
 *         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, 8713, __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 __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":8714
 *     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":8715
 *         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":8716
 *     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, 8716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8717
 *         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":8718
 *             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, 8718, __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, 8718, __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, 8718, __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, 8718, __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, 8718, __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, 8718, __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":8717
 *         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":8719
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8719, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8720
 *                 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, 8720, __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, 8720, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8720, __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":8717
 *         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":8721
 *             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":8722
 *                 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, 8722, __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, 8722, __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, 8722, __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, 8722, __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, 8722, __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, 8722, __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":8721
 *             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":8723
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8723, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8724
 *                 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, 8724, __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, 8724, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8724, __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":8721
 *             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":8725
 *             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":8726
 *                 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, 8726, __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, 8726, __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, 8726, __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, 8726, __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, 8726, __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, 8726, __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":8725
 *             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":8727
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8727, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8728
 *                 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, 8728, __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, 8728, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8728, __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":8725
 *             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":8729
 *             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":8730
 *                 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, 8730, __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, 8730, __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, 8730, __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, 8730, __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, 8730, __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, 8730, __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":8729
 *             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":8731
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8731, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8732
 *                 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, 8732, __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, 8732, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8732, __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":8729
 *             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":8733
 *             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":8734
 *                 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, 8734, __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, 8734, __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, 8734, __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, 8734, __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, 8734, __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, 8734, __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":8733
 *             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":8735
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8735, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8736
 *                 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, 8736, __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, 8736, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8736, __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":8733
 *             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":8737
 *             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":8738
 *                 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, 8738, __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, 8738, __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, 8738, __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, 8738, __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, 8738, __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, 8738, __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":8737
 *             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":8739
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8739, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8740
 *                 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, 8740, __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, 8740, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8740, __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":8737
 *             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":8741
 *             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, 8741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8715
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8743
 *             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":8714
 *     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":8744
 *         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":8746
 *     @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":8744
 *         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":8747
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8750
 *     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":8751
 *         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":8750
 *     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":8752
 *         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":8753
 *             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, 8753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8754
 *         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, 8754, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8752
 *         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":8756
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dst};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8756, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":8757
 *         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, 8757, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8758
 *             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":8747
 *     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_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":8760
 *         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":8762
 *     @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, 8762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8760
 *         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":8763
 *     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, 8764, __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":8765
 *     @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":8763
 *     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":8766
 *     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":8768
 *     @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, 8768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8766
 *     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":8769
 *     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, 8770, __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":8771
 *     @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":8769
 *     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":8772
 *     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":8774
 *     @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, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8772
 *     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":8775
 *     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, 8776, __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":8777
 *     @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":8775
 *     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":8778
 *     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":8780
 *     @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, 8780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8778
 *     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":8781
 *     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, 8782, __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":8783
 *     @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":8781
 *     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":8784
 *     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":8786
 *     @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, 8786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8784
 *     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":8787
 *     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, 8788, __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":8789
 *     @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":8787
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8817
 *         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, 8817, __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, 8817, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8817, __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, 8817, __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, 8817, __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, 8817, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8818
 *     """
 *     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":8819
 *     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":8818
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8821
 *             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":8817
 *         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":8822
 *         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, 8822, __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, 8822, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8822, __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, 8822, __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, 8822, __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, 8822, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8824
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8824, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8824, __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":8825
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 8825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8825, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 8825, __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":8822
 *         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_5);
  __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":8826
 *         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":8828
 *     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":8829
 *         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, 8829, __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 __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":8830
 *     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":8831
 *         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":8832
 *     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, 8832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8833
 *         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":8834
 *             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, 8834, __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, 8834, __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, 8834, __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, 8834, __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, 8834, __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, 8834, __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":8833
 *         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":8835
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8835, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8836
 *                 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, 8836, __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, 8836, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8836, __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":8833
 *         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":8837
 *             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":8838
 *                 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, 8838, __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, 8838, __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, 8838, __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, 8838, __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, 8838, __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, 8838, __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":8837
 *             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":8839
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8839, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8840
 *                 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, 8840, __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, 8840, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8840, __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":8837
 *             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":8841
 *             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":8842
 *                 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, 8842, __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, 8842, __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, 8842, __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, 8842, __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, 8842, __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, 8842, __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":8841
 *             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":8843
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8843, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8844
 *                 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, 8844, __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, 8844, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8844, __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":8841
 *             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":8845
 *             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":8846
 *                 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, 8846, __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, 8846, __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, 8846, __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, 8846, __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, 8846, __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, 8846, __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":8845
 *             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":8847
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8847, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8848
 *                 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, 8848, __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, 8848, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8848, __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":8845
 *             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":8849
 *             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":8850
 *                 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, 8850, __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, 8850, __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, 8850, __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, 8850, __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, 8850, __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, 8850, __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":8849
 *             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":8851
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8851, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8852
 *                 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, 8852, __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, 8852, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8852, __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":8849
 *             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":8853
 *             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":8854
 *                 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, 8854, __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, 8854, __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, 8854, __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, 8854, __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, 8854, __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, 8854, __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":8853
 *             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":8855
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8855, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8856
 *                 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, 8856, __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, 8856, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8856, __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":8853
 *             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":8857
 *             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":8858
 *                 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, 8858, __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, 8858, __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, 8858, __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, 8858, __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, 8858, __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, 8858, __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":8857
 *             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":8859
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8859, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8860
 *                 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, 8860, __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, 8860, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8860, __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":8857
 *             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":8861
 *             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, 8861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8831
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8863
 *             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":8830
 *     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":8864
 *         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":8866
 *     @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":8864
 *         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":8867
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8870
 *     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":8871
 *         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":8870
 *     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":8872
 *         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":8873
 *             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, 8873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8874
 *         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, 8874, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8872
 *         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":8876
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dst};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8876, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":8877
 *         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, 8877, __pyx_L1_error)
    __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8878
 *             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":8867
 *     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_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":8880
 *         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":8882
 *     @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, 8882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8880
 *         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":8883
 *     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, 8884, __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":8885
 *     @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":8883
 *     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":8886
 *     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":8888
 *     @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, 8888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8886
 *     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":8889
 *     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, 8890, __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":8891
 *     @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":8889
 *     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":8892
 *     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":8894
 *     @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, 8894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8892
 *     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":8895
 *     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, 8896, __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":8897
 *     @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":8895
 *     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":8898
 *     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":8900
 *     @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, 8900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8898
 *     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":8901
 *     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, 8902, __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":8903
 *     @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":8901
 *     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":8904
 *     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":8906
 *     @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, 8906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8904
 *     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":8907
 *     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, 8908, __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":8909
 *     @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":8907
 *     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":8910
 *     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":8912
 *     @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":8910
 *     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":8913
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8916
 *     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":8917
 *         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":8916
 *     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":8918
 *         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":8919
 *             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, 8919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8920
 *         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, 8920, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8918
 *         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":8922
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8922, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8922, __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;

    /* "cuda/bindings/driver.pyx":8923
 *         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, 8923, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8924
 *             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":8913
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":8942
 *         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, 8942, __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, 8942, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8942, __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, 8942, __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, 8942, __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, 8942, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":8943
 *     """
 *     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":8944
 *     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":8943
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":8946
 *             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":8942
 *         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":8947
 *         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, 8947, __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, 8947, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 8947, __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, 8947, __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, 8947, __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, 8947, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":8949
 *     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_t_3 = __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_3)) __PYX_ERR(0, 8949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 8949, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 8949, __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":8947
 *         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_5);
  __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":8950
 *         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":8952
 *     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":8953
 *         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, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8952
 *     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":8954
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":8955
 *         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":8956
 *     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, 8956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8957
 *         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":8958
 *             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, 8958, __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, 8958, __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, 8958, __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, 8958, __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, 8958, __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, 8958, __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":8957
 *         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":8959
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 8959, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":8960
 *                 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, 8960, __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, 8960, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8960, __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":8957
 *         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":8961
 *             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":8962
 *                 str_list += ['fn : <ValueError>']
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_userData_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8962, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8962, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_userData, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8962, __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, 8962, __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, 8962, __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, 8962, __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":8961
 *             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":8963
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 8963, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":8964
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8964, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_userData_ValueError) != (0)) __PYX_ERR(0, 8964, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8964, __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":8961
 *             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":8965
 *             except ValueError:
 *                 str_list += ['userData : <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, 8965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":8955
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":8967
 *             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":8954
 *     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":8968
 *         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":8970
 *     @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":8968
 *         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":8971
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":8974
 *     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":8975
 *         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":8974
 *     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":8976
 *         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":8977
 *             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, 8977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":8978
 *         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, 8978, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":8976
 *         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":8980
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8980, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8980, __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;

    /* "cuda/bindings/driver.pyx":8981
 *         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, 8981, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":8982
 *             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":8971
 *     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_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":8983
 *             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":8985
 *     @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, 8985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":8983
 *             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":8986
 *     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;
  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":8988
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8988, __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":8989
 *     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, 8989, __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, 8989, __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_4));

  /* "cuda/bindings/driver.pyx":8986
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9007
 *         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, 9007, __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, 9007, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9007, __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, 9007, __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, 9007, __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, 9007, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9008
 *     """
 *     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":9009
 *     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":9008
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9011
 *             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":9007
 *         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":9012
 *         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, 9012, __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, 9012, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9012, __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, 9012, __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, 9012, __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, 9012, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9014
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9014, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9014, __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":9012
 *         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_5);
  __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":9015
 *         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":9017
 *     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":9018
 *         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, 9018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9017
 *     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":9019
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":9020
 *         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":9021
 *     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, 9021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9022
 *         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":9023
 *             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, 9023, __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, 9023, __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, 9023, __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, 9023, __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, 9023, __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, 9023, __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":9022
 *         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":9024
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9024, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9025
 *                 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, 9025, __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, 9025, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9025, __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":9022
 *         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":9026
 *             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":9027
 *                 str_list += ['fn : <ValueError>']
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_userData_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9027, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9027, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_userData, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9027, __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, 9027, __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, 9027, __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, 9027, __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":9026
 *             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":9028
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 9028, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9029
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9029, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_userData_ValueError) != (0)) __PYX_ERR(0, 9029, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9029, __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":9026
 *             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":9030
 *             except ValueError:
 *                 str_list += ['userData : <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, 9030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9020
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9032
 *             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":9019
 *     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":9033
 *         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":9035
 *     @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":9033
 *         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":9036
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9039
 *     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":9040
 *         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":9039
 *     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":9041
 *         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":9042
 *             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, 9042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9043
 *         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, 9043, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9041
 *         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":9045
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9045, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9045, __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;

    /* "cuda/bindings/driver.pyx":9046
 *         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, 9046, __pyx_L1_error)
    __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9047
 *             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":9036
 *     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_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":9048
 *             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":9050
 *     @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, 9050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9048
 *             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":9051
 *     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;
  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":9053
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9053, __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":9054
 *     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, 9054, __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, 9054, __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_4));

  /* "cuda/bindings/driver.pyx":9051
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9097
 *         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, 9097, __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, 9097, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9097, __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, 9097, __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, 9097, __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, 9097, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9098
 *     """
 *     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":9099
 *     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":9098
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9101
 *             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":9097
 *         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":9102
 *         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, 9102, __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, 9102, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9102, __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, 9102, __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, 9102, __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, 9102, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9104
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9104, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9104, __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":9105
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 9105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9105, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 9105, __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":9102
 *         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_5);
  __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":9106
 *         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":9108
 *     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":9109
 *         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, 9109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9108
 *     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":9110
 *     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":9111
 *         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":9112
 *     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, 9112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9113
 *         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":9114
 *             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, 9114, __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, 9114, __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, 9114, __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, 9114, __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, 9114, __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, 9114, __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":9113
 *         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":9115
 *             try:
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9115, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9116
 *                 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, 9116, __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, 9116, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9116, __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":9113
 *         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":9117
 *             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":9118
 *                 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, 9118, __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, 9118, __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, 9118, __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, 9118, __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, 9118, __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, 9118, __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":9117
 *             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":9119
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9119, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9120
 *                 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, 9120, __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, 9120, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9120, __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":9117
 *             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":9121
 *             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":9122
 *                 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, 9122, __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, 9122, __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, 9122, __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, 9122, __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, 9122, __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, 9122, __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":9121
 *             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":9123
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9123, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9124
 *                 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, 9124, __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, 9124, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9124, __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":9121
 *             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":9125
 *             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":9126
 *                 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, 9126, __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, 9126, __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, 9126, __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, 9126, __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, 9126, __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, 9126, __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":9125
 *             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":9127
 *             try:
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9127, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9128
 *                 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, 9128, __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, 9128, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9128, __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":9125
 *             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":9129
 *             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":9130
 *                 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, 9130, __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, 9130, __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, 9130, __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, 9130, __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, 9130, __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, 9130, __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":9129
 *             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":9131
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9131, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9132
 *                 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, 9132, __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, 9132, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9132, __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":9129
 *             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":9133
 *             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, 9133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9111
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9135
 *             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":9110
 *     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":9136
 *         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":9138
 *     @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":9136
 *         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":9139
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9142
 *     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":9143
 *         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":9142
 *     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":9144
 *         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":9145
 *             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, 9145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9146
 *         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, 9146, __pyx_L1_error)
    __pyx_v_cyhandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9144
 *         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":9148
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9148, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9148, __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;

    /* "cuda/bindings/driver.pyx":9149
 *         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, 9149, __pyx_L1_error)
    __pyx_v_cyhandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9150
 *             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":9139
 *     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_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":9152
 *         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":9154
 *     @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, 9154, __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, 9154, __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, 9154, __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":9155
 *     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":9154
 *     @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":9156
 *         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, 9156, __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, 9156, __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, 9156, __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":9152
 *         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":9157
 *             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, 9158, __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":9159
 *     @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, 9159, __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, 9159, __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":9157
 *             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":9160
 *     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":9162
 *     @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, 9162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9160
 *     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":9163
 *     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, 9164, __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":9165
 *     @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":9163
 *     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":9166
 *     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_10genexpr134__pyx_v_x = NULL;
  PyObject *__pyx_10genexpr135__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;
  size_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":9168
 *     @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, 9168, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9168, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9168, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9168, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9168, __pyx_L5_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    for (;;) {
      {
        __pyx_t_2 = __pyx_t_6(__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, 9168, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_10genexpr134__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, 9168, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyLong_FromSize_t((sizeof(CUgraph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9168, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = PyNumber_Multiply(__pyx_10genexpr134__pyx_v_x, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9168, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9168, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 9168, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_x); __pyx_10genexpr134__pyx_v_x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_x); __pyx_10genexpr134__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":9169
 *     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, 9169, __pyx_L12_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_8 = 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, 9169, __pyx_L12_error)
        #endif
        if (__pyx_t_8 >= __pyx_temp) break;
      }
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_8;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9169, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr135__pyx_v_arr, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_7 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, NULL};
        __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9169, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr135__pyx_v_arr, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9169, __pyx_L12_error)
        __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
        __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, 9169, __pyx_L12_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 9169, __pyx_L12_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_arr); __pyx_10genexpr135__pyx_v_arr = 0;
    goto __pyx_L16_exit_scope;
    __pyx_L12_error:;
    __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_arr); __pyx_10genexpr135__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":9166
 *     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_7);
  __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_10genexpr134__pyx_v_x);
  __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9170
 *         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":9172
 *     @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":9170
 *         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":9173
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9176
 *     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":9177
 *         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":9176
 *     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":9178
 *         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":9179
 *             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, 9179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9180
 *         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, 9180, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9178
 *         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":9182
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9182, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9182, __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;

    /* "cuda/bindings/driver.pyx":9183
 *         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, 9183, __pyx_L1_error)
    __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9184
 *             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":9173
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9225
 *         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, 9225, __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, 9225, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9225, __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, 9225, __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, 9225, __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, 9225, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9226
 *     """
 *     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":9227
 *     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":9226
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9229
 *             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":9225
 *         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":9230
 *         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, 9230, __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, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9230, __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, 9230, __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, 9230, __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, 9230, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9232
 *     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":9234
 *     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":9235
 *         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, 9235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9234
 *     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":9236
 *     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":9237
 *         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":9238
 *     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, 9238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9239
 *         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":9240
 *             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, 9240, __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, 9240, __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, 9240, __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, 9240, __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, 9240, __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, 9240, __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":9239
 *         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":9241
 *             try:
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9241, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9242
 *                 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, 9242, __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, 9242, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9242, __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":9239
 *         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":9243
 *             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":9244
 *                 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, 9244, __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, 9244, __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, 9244, __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, 9244, __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, 9244, __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, 9244, __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":9243
 *             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":9245
 *             try:
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9245, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9246
 *                 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, 9246, __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, 9246, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9246, __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":9243
 *             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":9247
 *             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":9248
 *                 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, 9248, __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, 9248, __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, 9248, __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, 9248, __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, 9248, __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, 9248, __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":9247
 *             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":9249
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9249, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9250
 *                 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, 9250, __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, 9250, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9250, __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":9247
 *             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":9251
 *             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":9252
 *                 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, 9252, __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, 9252, __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, 9252, __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, 9252, __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, 9252, __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, 9252, __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":9251
 *             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":9253
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9253, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9254
 *                 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, 9254, __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, 9254, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9254, __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":9251
 *             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":9255
 *             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, 9255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9237
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9257
 *             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":9236
 *     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":9258
 *         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":9260
 *     @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, 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
 *         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":9261
 *     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, 9262, __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":9263
 *     @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":9261
 *     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":9264
 *     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":9266
 *     @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, 9266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9264
 *     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":9267
 *     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, 9268, __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":9269
 *     @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":9267
 *     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":9270
 *     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":9272
 *     @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, 9272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9270
 *     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":9273
 *     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, 9274, __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":9275
 *     @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":9273
 *     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":9276
 *     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":9278
 *     @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, 9278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9276
 *     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":9279
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9281
 *     @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, 9281, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 5);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":9282
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9282, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9282, __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, 9282, __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_reserved_length_must_be_5_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 9282, __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, 9282, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":9281
 *     @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":9283
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9283, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 9283, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 9283, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9283, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 9283, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":9284
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9284, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 9284, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":9283
 *         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":9279
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9306
 *         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, 9306, __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, 9306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9306, __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, 9306, __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, 9306, __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, 9306, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9307
 *     """
 *     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":9308
 *     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":9307
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9310
 *             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":9306
 *         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":9311
 *         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, 9311, __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, 9311, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9311, __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, 9311, __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, 9311, __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, 9311, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9313
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9313, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9313, __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":9314
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 9314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9314, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 9314, __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":9315
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 9315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9315, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9315, __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":9311
 *         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_5);
  __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":9316
 *         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":9318
 *     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":9319
 *         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, 9319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9318
 *     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":9320
 *     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":9321
 *         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":9322
 *     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, 9322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9323
 *         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":9324
 *             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, 9324, __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, 9324, __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, 9324, __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, 9324, __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, 9324, __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, 9324, __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":9323
 *         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":9325
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9325, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9326
 *                 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, 9326, __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, 9326, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9326, __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":9323
 *         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":9327
 *             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":9328
 *                 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, 9328, __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, 9328, __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, 9328, __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, 9328, __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, 9328, __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, 9328, __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":9327
 *             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":9329
 *             try:
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9329, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9330
 *                 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, 9330, __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, 9330, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9330, __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":9327
 *             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":9331
 *             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":9332
 *                 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, 9332, __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, 9332, __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, 9332, __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, 9332, __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, 9332, __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, 9332, __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":9331
 *             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":9333
 *             try:
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9333, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9334
 *                 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, 9334, __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, 9334, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9334, __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":9331
 *             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":9335
 *             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":9336
 *                 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, 9336, __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, 9336, __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, 9336, __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, 9336, __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, 9336, __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, 9336, __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":9335
 *             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":9337
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9337, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9338
 *                 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, 9338, __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, 9338, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9338, __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":9335
 *             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":9339
 *             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, 9339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9321
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9341
 *             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":9320
 *     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":9342
 *         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":9344
 *     @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":9342
 *         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":9345
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9348
 *     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":9349
 *         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":9348
 *     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":9350
 *         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":9351
 *             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, 9351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9352
 *         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, 9352, __pyx_L1_error)
    __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9350
 *         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":9354
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_flags};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9354, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9354, __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;

    /* "cuda/bindings/driver.pyx":9355
 *         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, 9355, __pyx_L1_error)
    __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9356
 *             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":9345
 *     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_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":9358
 *         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":9360
 *     @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":9358
 *         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":9361
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9364
 *     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":9365
 *         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":9364
 *     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":9366
 *         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":9367
 *             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, 9367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phUploadStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9368
 *         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, 9368, __pyx_L1_error)
    __pyx_v_cyhUploadStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9366
 *         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":9370
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hUploadStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9370, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phUploadStream = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":9371
 *         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, 9371, __pyx_L1_error)
    __pyx_v_cyhUploadStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9372
 *             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":9361
 *     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_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":9373
 *             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":9375
 *     @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":9373
 *             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":9376
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9379
 *     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":9380
 *         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":9379
 *     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":9381
 *         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":9382
 *             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, 9382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phErrNode_out = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9383
 *         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, 9383, __pyx_L1_error)
    __pyx_v_cyhErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9381
 *         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":9385
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hErrNode_out};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9385, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phErrNode_out = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":9386
 *         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, 9386, __pyx_L1_error)
    __pyx_v_cyhErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9387
 *             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":9376
 *     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_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":9388
 *             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":9390
 *     @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, 9390, __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, 9390, __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, 9390, __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":9391
 *     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":9390
 *     @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":9392
 *         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, 9392, __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, 9392, __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, 9392, __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":9388
 *             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":9393
 *             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, 9394, __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":9395
 *     @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, 9395, __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, 9395, __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":9393
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9419
 *         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, 9419, __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, 9419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9419, __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, 9419, __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, 9419, __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, 9419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9420
 *     """
 *     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":9421
 *     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":9420
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9423
 *             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":9419
 *         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":9424
 *         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, 9424, __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, 9424, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9424, __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, 9424, __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, 9424, __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, 9424, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9426
 *     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":9428
 *     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":9429
 *         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, 9429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9428
 *     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":9430
 *     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":9431
 *         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":9432
 *     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, 9432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9433
 *         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":9434
 *             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, 9434, __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, 9434, __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, 9434, __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, 9434, __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, 9434, __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, 9434, __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":9433
 *         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":9435
 *             try:
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9435, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9436
 *                 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, 9436, __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, 9436, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9436, __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":9433
 *         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":9437
 *             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":9438
 *                 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, 9438, __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, 9438, __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, 9438, __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, 9438, __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, 9438, __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, 9438, __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":9437
 *             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":9439
 *             try:
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9439, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9440
 *                 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, 9440, __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, 9440, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9440, __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":9437
 *             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":9441
 *             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, 9441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9431
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9443
 *             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":9430
 *     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":9444
 *         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":9446
 *     @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, 9446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9444
 *         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":9447
 *     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, 9448, __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":9449
 *     @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":9447
 *     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":9450
 *     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":9452
 *     @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, 9452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9450
 *     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":9453
 *     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, 9454, __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":9455
 *     @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":9453
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9473
 *         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, 9473, __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, 9473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9473, __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, 9473, __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, 9473, __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, 9473, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9474
 *     """
 *     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":9473
 *         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":9476
 *         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, 9476, __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, 9476, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9476, __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, 9476, __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, 9476, __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, 9476, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9476, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9478
 *     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":9480
 *     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":9481
 *         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, 9481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9480
 *     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":9482
 *     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":9483
 *         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":9484
 *     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, 9484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9485
 *         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":9486
 *             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, 9486, __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, 9486, __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, 9486, __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, 9486, __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, 9486, __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, 9486, __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":9485
 *         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":9487
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9487, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9488
 *                 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, 9488, __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, 9488, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9488, __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":9485
 *         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":9489
 *             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":9490
 *                 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, 9490, __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, 9490, __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, 9490, __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, 9490, __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, 9490, __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, 9490, __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":9489
 *             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":9491
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9491, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9492
 *                 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, 9492, __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, 9492, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9492, __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":9489
 *             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":9493
 *             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":9494
 *                 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, 9494, __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, 9494, __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, 9494, __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, 9494, __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, 9494, __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, 9494, __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":9493
 *             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":9495
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9495, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9496
 *                 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, 9496, __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, 9496, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9496, __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":9493
 *             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":9497
 *             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, 9497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9483
 *         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":9499
 *             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":9482
 *     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":9500
 *         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":9502
 *     @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, 9502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9500
 *         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":9503
 *     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, 9504, __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":9505
 *     @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":9503
 *     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":9506
 *     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":9508
 *     @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, 9508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9506
 *     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":9509
 *     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, 9510, __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":9511
 *     @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":9509
 *     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":9512
 *     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":9514
 *     @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, 9514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9512
 *     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":9515
 *     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, 9516, __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":9517
 *     @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":9515
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9535
 *         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, 9535, __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, 9535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9535, __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, 9535, __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, 9535, __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, 9535, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9536
 *     """
 *     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":9535
 *         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":9538
 *         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, 9538, __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, 9538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9538, __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, 9538, __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, 9538, __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, 9538, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9538, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9540
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9540, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9540, __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":9538
 *         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_5);
  __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":9541
 *         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":9543
 *     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":9544
 *         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, 9544, __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 __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":9545
 *     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":9546
 *         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":9547
 *     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, 9547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9548
 *         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":9549
 *             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, 9549, __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, 9549, __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, 9549, __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, 9549, __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, 9549, __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, 9549, __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":9548
 *         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":9550
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9550, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9551
 *                 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, 9551, __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, 9551, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9551, __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":9548
 *         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":9552
 *             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":9553
 *                 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, 9553, __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, 9553, __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, 9553, __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, 9553, __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, 9553, __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, 9553, __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":9552
 *             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":9554
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9554, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9555
 *                 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, 9555, __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, 9555, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9555, __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":9552
 *             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":9556
 *             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":9557
 *                 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, 9557, __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, 9557, __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, 9557, __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, 9557, __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, 9557, __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, 9557, __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":9556
 *             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":9558
 *             try:
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9558, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9559
 *                 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, 9559, __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, 9559, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9559, __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":9556
 *             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":9560
 *             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, 9560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9546
 *         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":9562
 *             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":9545
 *     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":9563
 *         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":9565
 *     @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":9563
 *         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":9566
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9569
 *     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":9570
 *         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":9569
 *     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":9571
 *         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":9572
 *             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, 9572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9573
 *         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, 9573, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9571
 *         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":9575
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9575, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9575, __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;

    /* "cuda/bindings/driver.pyx":9576
 *         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, 9576, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9577
 *             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":9566
 *     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_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":9578
 *             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":9580
 *     @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, 9580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9578
 *             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":9581
 *     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, 9582, __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":9583
 *     @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":9581
 *     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":9584
 *     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":9586
 *     @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, 9586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9584
 *     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":9587
 *     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, 9588, __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":9589
 *     @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":9587
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9605
 *         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, 9605, __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, 9605, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9605, __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, 9605, __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, 9605, __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, 9605, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9605, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9606
 *     """
 *     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":9605
 *         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":9608
 *         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, 9608, __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, 9608, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9608, __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, 9608, __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, 9608, __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, 9608, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9608, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9610
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9610, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9610, __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":9608
 *         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_5);
  __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":9611
 *         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":9613
 *     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":9614
 *         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, 9614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9613
 *     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":9615
 *     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":9616
 *         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":9617
 *     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, 9617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9618
 *         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":9619
 *             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, 9619, __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, 9619, __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, 9619, __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, 9619, __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, 9619, __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, 9619, __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":9618
 *         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":9620
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9620, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9621
 *                 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, 9621, __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, 9621, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9621, __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":9618
 *         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":9622
 *             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":9623
 *                 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, 9623, __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, 9623, __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, 9623, __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, 9623, __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, 9623, __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, 9623, __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":9622
 *             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":9624
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9624, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9625
 *                 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, 9625, __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, 9625, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9625, __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":9622
 *             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":9626
 *             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, 9626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9616
 *         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":9628
 *             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":9615
 *     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":9629
 *         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":9631
 *     @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":9629
 *         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":9632
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9635
 *     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":9636
 *         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":9635
 *     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":9637
 *         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":9638
 *             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, 9638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9639
 *         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, 9639, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9637
 *         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":9641
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9641, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9641, __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;

    /* "cuda/bindings/driver.pyx":9642
 *         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, 9642, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9643
 *             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":9632
 *     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_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":9644
 *             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":9646
 *     @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, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9644
 *             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":9647
 *     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, 9648, __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":9649
 *     @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":9647
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9667
 *         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, 9667, __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, 9667, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9667, __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, 9667, __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, 9667, __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, 9667, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9667, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9668
 *     """
 *     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":9667
 *         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":9670
 *         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, 9670, __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, 9670, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9670, __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, 9670, __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, 9670, __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, 9670, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9670, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9672
 *     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":9674
 *     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":9675
 *         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, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9674
 *     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":9676
 *     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":9677
 *         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":9678
 *     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, 9678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9679
 *         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":9680
 *             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, 9680, __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, 9680, __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, 9680, __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, 9680, __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, 9680, __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, 9680, __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":9679
 *         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":9681
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9681, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9682
 *                 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, 9682, __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, 9682, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9682, __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":9679
 *         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":9683
 *             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":9684
 *                 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, 9684, __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, 9684, __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, 9684, __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, 9684, __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, 9684, __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, 9684, __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":9683
 *             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":9685
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9685, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9686
 *                 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, 9686, __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, 9686, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9686, __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":9683
 *             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":9687
 *             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":9688
 *                 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, 9688, __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, 9688, __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, 9688, __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, 9688, __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, 9688, __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, 9688, __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":9687
 *             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":9689
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9689, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9690
 *                 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, 9690, __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, 9690, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9690, __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":9687
 *             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":9691
 *             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, 9691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9677
 *         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":9693
 *             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":9676
 *     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":9694
 *         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":9696
 *     @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, 9696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9694
 *         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":9697
 *     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, 9698, __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":9699
 *     @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":9697
 *     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":9700
 *     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":9702
 *     @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, 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":9700
 *     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":9703
 *     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, 9704, __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":9705
 *     @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":9703
 *     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":9706
 *     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":9708
 *     @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, 9708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9706
 *     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":9709
 *     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, 9710, __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":9711
 *     @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":9709
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9727
 *         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, 9727, __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, 9727, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9727, __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, 9727, __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, 9727, __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, 9727, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9727, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9728
 *     """
 *     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":9727
 *         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":9730
 *         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, 9730, __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, 9730, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9730, __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, 9730, __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, 9730, __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, 9730, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 9730, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9732
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9732, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9732, __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":9730
 *         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_5);
  __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":9733
 *         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":9735
 *     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":9736
 *         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, 9736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9735
 *     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":9737
 *     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":9738
 *         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":9739
 *     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, 9739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9740
 *         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":9741
 *             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, 9741, __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, 9741, __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, 9741, __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, 9741, __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, 9741, __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, 9741, __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":9740
 *         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":9742
 *             try:
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9742, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9743
 *                 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, 9743, __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, 9743, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9743, __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":9740
 *         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":9744
 *             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":9745
 *                 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, 9745, __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, 9745, __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, 9745, __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, 9745, __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, 9745, __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, 9745, __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":9744
 *             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":9746
 *             try:
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9746, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9747
 *                 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, 9747, __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, 9747, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9747, __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":9744
 *             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":9748
 *             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, 9748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9738
 *         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":9750
 *             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":9737
 *     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":9751
 *         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":9753
 *     @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, 9753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9751
 *         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":9754
 *     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, 9755, __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":9756
 *     @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":9754
 *     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":9757
 *     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":9759
 *     @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":9757
 *     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":9760
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":9763
 *     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":9764
 *         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":9763
 *     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":9765
 *         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":9766
 *             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, 9766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9767
 *         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, 9767, __pyx_L1_error)
    __pyx_v_cydevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":9765
 *         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":9769
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9769, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":9770
 *         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, 9770, __pyx_L1_error)
    __pyx_v_cydevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":9771
 *             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":9760
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":9858
 *         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, 9858, __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, 9858, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9858, __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, 9858, __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, 9858, __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, 9858, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":9859
 *     """
 *     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":9860
 *     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":9859
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":9862
 *             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":9858
 *         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":9863
 *         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, 9863, __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, 9863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 9863, __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, 9863, __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, 9863, __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, 9863, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":9865
 *     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_t_3 = __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_3)) __PYX_ERR(0, 9865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9865, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9865, __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":9866
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9866, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 9866, __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":9867
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9867, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9867, __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":9868
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9868, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 9868, __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":9869
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 9869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9869, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9869, __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":9870
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9870, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 9870, __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":9871
 *         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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 9871, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 9871, __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":9863
 *         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_5);
  __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":9872
 *         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":9874
 *     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":9875
 *         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, 9875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9874
 *     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":9876
 *     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_10genexpr136__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr137__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr138__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr139__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr140__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr141__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr142__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":9877
 *         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":9878
 *     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, 9878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":9879
 *         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":9880
 *             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, 9880, __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, 9880, __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, 9880, __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, 9880, __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, 9880, __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, 9880, __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":9879
 *         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":9881
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9881, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9882
 *                 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, 9882, __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, 9882, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9882, __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":9879
 *         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":9883
 *             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":9884
 *                 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, 9884, __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, 9884, __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, 9884, __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, 9884, __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, 9884, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9884, __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, 9884, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9884, __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, 9884, __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, 9884, __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, 9884, __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, 9884, __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, 9884, __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":9883
 *             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":9885
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9885, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9886
 *                 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, 9886, __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, 9886, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9886, __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":9883
 *             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":9887
 *             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":9888
 *                 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, 9888, __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, 9888, __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, 9888, __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, 9888, __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, 9888, __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, 9888, __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":9887
 *             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":9889
 *             try:
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9889, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9890
 *                 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, 9890, __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, 9890, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9890, __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":9887
 *             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":9891
 *             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":9892
 *                 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, 9892, __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, 9892, __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, 9892, __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, 9892, __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, 9892, __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, 9892, __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":9891
 *             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":9893
 *             try:
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9893, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9894
 *                 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, 9894, __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, 9894, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9894, __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":9891
 *             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":9895
 *             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":9896
 *                 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, 9896, __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, 9896, __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, 9896, __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, 9896, __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, 9896, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9896, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr137__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr137__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9896, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9896, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr137__pyx_v_line); __pyx_10genexpr137__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr137__pyx_v_line); __pyx_10genexpr137__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, 9896, __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, 9896, __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, 9896, __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, 9896, __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, 9896, __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":9895
 *             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":9897
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9897, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9898
 *                 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, 9898, __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, 9898, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9898, __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":9895
 *             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":9899
 *             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":9900
 *                 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, 9900, __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, 9900, __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, 9900, __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, 9900, __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, 9900, __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, 9900, __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":9899
 *             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":9901
 *             try:
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9901, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9902
 *                 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, 9902, __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, 9902, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9902, __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":9899
 *             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":9903
 *             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":9904
 *                 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, 9904, __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, 9904, __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, 9904, __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, 9904, __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, 9904, __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, 9904, __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":9903
 *             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":9905
 *             try:
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9905, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9906
 *                 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, 9906, __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, 9906, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9906, __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":9903
 *             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":9907
 *             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":9908
 *                 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, 9908, __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, 9908, __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, 9908, __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, 9908, __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, 9908, __pyx_L82_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9908, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr138__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr138__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9908, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 9908, __pyx_L82_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_line); __pyx_10genexpr138__pyx_v_line = 0;
          goto __pyx_L86_exit_scope;
          __pyx_L82_error:;
          __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_line); __pyx_10genexpr138__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, 9908, __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, 9908, __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, 9908, __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, 9908, __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, 9908, __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":9907
 *             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":9909
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9909, __pyx_L76_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9910
 *                 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, 9910, __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, 9910, __pyx_L76_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9910, __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":9907
 *             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":9911
 *             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":9912
 *                 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, 9912, __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, 9912, __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, 9912, __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, 9912, __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, 9912, __pyx_L97_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9912, __pyx_L97_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, 9912, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9912, __pyx_L97_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line); __pyx_10genexpr139__pyx_v_line = 0;
          goto __pyx_L101_exit_scope;
          __pyx_L97_error:;
          __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line); __pyx_10genexpr139__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, 9912, __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, 9912, __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, 9912, __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, 9912, __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, 9912, __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":9911
 *             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":9913
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9913, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9914
 *                 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, 9914, __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, 9914, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9914, __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":9911
 *             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":9915
 *             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":9916
 *                 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, 9916, __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, 9916, __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, 9916, __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, 9916, __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, 9916, __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, 9916, __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":9915
 *             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":9917
 *             try:
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9917, __pyx_L106_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9918
 *                 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, 9918, __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, 9918, __pyx_L106_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9918, __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":9915
 *             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":9919
 *             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":9920
 *                 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, 9920, __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, 9920, __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, 9920, __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, 9920, __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, 9920, __pyx_L120_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9920, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr140__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr140__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9920, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9920, __pyx_L120_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line); __pyx_10genexpr140__pyx_v_line = 0;
          goto __pyx_L124_exit_scope;
          __pyx_L120_error:;
          __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line); __pyx_10genexpr140__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, 9920, __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, 9920, __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, 9920, __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, 9920, __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, 9920, __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":9919
 *             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":9921
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9921, __pyx_L114_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9922
 *                 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, 9922, __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, 9922, __pyx_L114_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9922, __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":9919
 *             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":9923
 *             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":9924
 *                 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, 9924, __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, 9924, __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, 9924, __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, 9924, __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, 9924, __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, 9924, __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":9923
 *             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":9925
 *             try:
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9925, __pyx_L129_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":9926
 *                 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, 9926, __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, 9926, __pyx_L129_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9926, __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":9923
 *             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":9927
 *             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":9928
 *                 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, 9928, __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, 9928, __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, 9928, __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, 9928, __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, 9928, __pyx_L143_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9928, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr141__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr141__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9928, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 9928, __pyx_L143_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr141__pyx_v_line); __pyx_10genexpr141__pyx_v_line = 0;
          goto __pyx_L147_exit_scope;
          __pyx_L143_error:;
          __Pyx_XDECREF(__pyx_10genexpr141__pyx_v_line); __pyx_10genexpr141__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, 9928, __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, 9928, __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, 9928, __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, 9928, __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, 9928, __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":9927
 *             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":9929
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9929, __pyx_L137_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9930
 *                 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, 9930, __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, 9930, __pyx_L137_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9930, __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":9927
 *             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":9931
 *             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":9932
 *                 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, 9932, __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, 9932, __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, 9932, __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, 9932, __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, 9932, __pyx_L158_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9932, __pyx_L158_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr142__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr142__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9932, __pyx_L158_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 9932, __pyx_L158_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_line); __pyx_10genexpr142__pyx_v_line = 0;
          goto __pyx_L162_exit_scope;
          __pyx_L158_error:;
          __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_line); __pyx_10genexpr142__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, 9932, __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, 9932, __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, 9932, __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, 9932, __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, 9932, __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":9931
 *             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":9933
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 9933, __pyx_L152_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9934
 *                 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, 9934, __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, 9934, __pyx_L152_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9934, __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":9931
 *             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":9935
 *             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":9936
 *                 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, 9936, __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, 9936, __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, 9936, __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, 9936, __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, 9936, __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, 9936, __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":9935
 *             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":9937
 *             try:
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9937, __pyx_L167_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":9938
 *                 str_list += ['sharedMemCarveout : ' + str(self.sharedMemCarveout)]
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9938, __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, 9938, __pyx_L167_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9938, __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":9935
 *             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":9939
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
 *             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":9940
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             try:
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvlinkUtilCentricScheduling : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvlinkUtilCentricScheduling_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9940, __pyx_L173_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9940, __pyx_L173_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_nvlinkUtilCentricScheduling, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9940, __pyx_L173_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, 9940, __pyx_L173_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, 9940, __pyx_L173_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, 9940, __pyx_L173_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":9939
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
 *             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_L178_try_end;
      __pyx_L173_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":9941
 *             try:
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvlinkUtilCentricScheduling : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 9941, __pyx_L175_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":9942
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
 *             except ValueError:
 *                 str_list += ['nvlinkUtilCentricScheduling : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9942, __pyx_L175_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nvlinkUtilCentricScheduling_Valu);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nvlinkUtilCentricScheduling_Valu);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_nvlinkUtilCentricScheduling_Valu) != (0)) __PYX_ERR(0, 9942, __pyx_L175_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9942, __pyx_L175_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_L174_exception_handled;
      }
      goto __pyx_L175_except_error;

      /* "cuda/bindings/driver.pyx":9939
 *             except ValueError:
 *                 str_list += ['sharedMemCarveout : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvlinkUtilCentricScheduling : ' + str(self.nvlinkUtilCentricScheduling)]
 *             except ValueError:
*/
      __pyx_L175_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_L174_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_L178_try_end:;
    }

    /* "cuda/bindings/driver.pyx":9943
 *             except ValueError:
 *                 str_list += ['nvlinkUtilCentricScheduling : <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, 9943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":9877
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":9945
 *             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":9876
 *     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_10genexpr136__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr137__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr138__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr139__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr140__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr141__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr142__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":9946
 *         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":9948
 *     @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, 9948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9946
 *         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":9949
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  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":9951
 *     @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, 9951, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":9952
 *     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_t_1 = PyObject_Length(__pyx_v_pad); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9952, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9952, __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, 9952, __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_pad_length_must_be_64_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 9952, __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, 9952, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":9951
 *     @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":9953
 *         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":9954
 *             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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9954, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 9954, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 9954, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9954, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 9954, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":9955
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9955, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 9955, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9955, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 9955, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":9956
 *             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_4 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9956, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":9955
 *         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":9957
 *                 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_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9957, __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, 9957, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).pad[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":9954
 *             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":9953
 *         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":9959
 *                 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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9959, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9959, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 9959, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 9959, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9959, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 9959, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9959, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":9960
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9960, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 9960, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9960, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 9960, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":9961
 *             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_4 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9961, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":9960
 *         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":9962
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].pad[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def accessPolicyWindow(self):
*/
      __pyx_t_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 9962, __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, 9962, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).pad[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":9959
 *                 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":9949
 *     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_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":9963
 *                     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":9965
 *     @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":9963
 *                     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":9966
 *     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, 9967, __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":9968
 *     @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((PyObject*)__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, 9968, __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, 9968, __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":9966
 *     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":9969
 *     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":9971
 *     @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, 9971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9969
 *     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":9972
 *     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, 9973, __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":9974
 *     @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":9972
 *     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":9975
 *     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":9977
 *     @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, 9977, __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, 9977, __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, 9977, __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":9978
 *     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":9977
 *     @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":9979
 *         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, 9979, __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, 9979, __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, 9979, __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":9975
 *     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":9980
 *             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, 9981, __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":9982
 *     @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, 9982, __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, 9982, __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":9980
 *             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":9983
 *     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":9985
 *     @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":9983
 *     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":9986
 *     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, 9987, __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":9988
 *     @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((PyObject*)__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, 9988, __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, 9988, __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":9986
 *     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":9989
 *     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":9991
 *     @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, 9991, __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, 9991, __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, 9991, __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":9992
 *     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":9991
 *     @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":9993
 *         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, 9993, __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, 9993, __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, 9993, __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":9989
 *     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":9994
 *             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, 9995, __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":9996
 *     @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, 9996, __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, 9996, __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":9994
 *             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":9997
 *     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":9999
 *     @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, 9999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":9997
 *     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":10000
 *     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, 10001, __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":10002
 *     @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":10000
 *     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":10003
 *     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":10005
 *     @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":10003
 *     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":10006
 *     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, 10007, __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":10008
 *     @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((PyObject*)__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, 10008, __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, 10008, __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":10006
 *     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":10009
 *     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":10011
 *     @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":10009
 *     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":10012
 *     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, 10013, __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":10014
 *     @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((PyObject*)__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, 10014, __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, 10014, __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":10012
 *     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":10015
 *     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":10017
 *     @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, 10017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10015
 *     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":10018
 *     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, 10019, __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":10020
 *     @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":10018
 *     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":10021
 *     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":10023
 *     @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":10021
 *     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":10024
 *     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, 10025, __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":10026
 *     @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((PyObject*)__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, 10026, __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, 10026, __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":10024
 *     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":10027
 *     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":10029
 *     @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, 10029, __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, 10029, __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, 10029, __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":10030
 *     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":10029
 *     @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":10031
 *         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, 10031, __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, 10031, __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, 10031, __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":10027
 *     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":10032
 *             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, 10033, __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":10034
 *     @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, 10034, __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, 10034, __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":10032
 *             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":10035
 *     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":10037
 *     @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":10035
 *     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":10038
 *     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, 10039, __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":10040
 *     @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((PyObject*)__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, 10040, __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, 10040, __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":10038
 *     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":10041
 *     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":10043
 *     @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":10041
 *     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":10044
 *     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, 10045, __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":10046
 *     @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((PyObject*)__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, 10046, __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, 10046, __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":10044
 *     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":10047
 *     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":10049
 *     @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, 10049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10047
 *     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":10050
 *     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, 10051, __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":10052
 *     @sharedMemCarveout.setter
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout             # <<<<<<<<<<<<<<
 *     @property
 *     def nvlinkUtilCentricScheduling(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).sharedMemCarveout = __pyx_v_sharedMemCarveout;

  /* "cuda/bindings/driver.pyx":10050
 *     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;
}

/* "cuda/bindings/driver.pyx":10053
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout
 *     @property             # <<<<<<<<<<<<<<
 *     def nvlinkUtilCentricScheduling(self):
 *         return self._pvt_ptr[0].nvlinkUtilCentricScheduling
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_27nvlinkUtilCentricScheduling___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_27nvlinkUtilCentricScheduling___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":10055
 *     @property
 *     def nvlinkUtilCentricScheduling(self):
 *         return self._pvt_ptr[0].nvlinkUtilCentricScheduling             # <<<<<<<<<<<<<<
 *     @nvlinkUtilCentricScheduling.setter
 *     def nvlinkUtilCentricScheduling(self, unsigned int nvlinkUtilCentricScheduling):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).nvlinkUtilCentricScheduling); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10053
 *     def sharedMemCarveout(self, unsigned int sharedMemCarveout):
 *         self._pvt_ptr[0].sharedMemCarveout = sharedMemCarveout
 *     @property             # <<<<<<<<<<<<<<
 *     def nvlinkUtilCentricScheduling(self):
 *         return self._pvt_ptr[0].nvlinkUtilCentricScheduling
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.nvlinkUtilCentricScheduling.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10056
 *     def nvlinkUtilCentricScheduling(self):
 *         return self._pvt_ptr[0].nvlinkUtilCentricScheduling
 *     @nvlinkUtilCentricScheduling.setter             # <<<<<<<<<<<<<<
 *     def nvlinkUtilCentricScheduling(self, unsigned int nvlinkUtilCentricScheduling):
 *         self._pvt_ptr[0].nvlinkUtilCentricScheduling = nvlinkUtilCentricScheduling
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_nvlinkUtilCentricScheduling); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_nvlinkUtilCentricScheduling) {
  unsigned int __pyx_v_nvlinkUtilCentricScheduling;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_nvlinkUtilCentricScheduling); {
    __pyx_v_nvlinkUtilCentricScheduling = __Pyx_PyLong_As_unsigned_int(__pyx_arg_nvlinkUtilCentricScheduling); if (unlikely((__pyx_v_nvlinkUtilCentricScheduling == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10057, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUlaunchAttributeValue_union.nvlinkUtilCentricScheduling.__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_27nvlinkUtilCentricScheduling_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *)__pyx_v_self), ((unsigned int)__pyx_v_nvlinkUtilCentricScheduling));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUlaunchAttributeValue_union *__pyx_v_self, unsigned int __pyx_v_nvlinkUtilCentricScheduling) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":10058
 *     @nvlinkUtilCentricScheduling.setter
 *     def nvlinkUtilCentricScheduling(self, unsigned int nvlinkUtilCentricScheduling):
 *         self._pvt_ptr[0].nvlinkUtilCentricScheduling = nvlinkUtilCentricScheduling             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchAttribute_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).nvlinkUtilCentricScheduling = __pyx_v_nvlinkUtilCentricScheduling;

  /* "cuda/bindings/driver.pyx":10056
 *     def nvlinkUtilCentricScheduling(self):
 *         return self._pvt_ptr[0].nvlinkUtilCentricScheduling
 *     @nvlinkUtilCentricScheduling.setter             # <<<<<<<<<<<<<<
 *     def nvlinkUtilCentricScheduling(self, unsigned int nvlinkUtilCentricScheduling):
 *         self._pvt_ptr[0].nvlinkUtilCentricScheduling = nvlinkUtilCentricScheduling
*/

  /* 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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10076
 *         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, 10076, __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, 10076, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10076, __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, 10076, __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, 10076, __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, 10076, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10077
 *     """
 *     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":10078
 *     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":10077
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10080
 *             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":10076
 *         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":10081
 *         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, 10081, __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, 10081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10081, __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, 10081, __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, 10081, __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, 10081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10083
 *     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_t_3 = __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_3)) __PYX_ERR(0, 10083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10083, __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":10081
 *         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_5);
  __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":10084
 *         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":10086
 *     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":10087
 *         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, 10087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10086
 *     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":10088
 *     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_10genexpr143__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":10089
 *         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":10090
 *     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, 10090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10091
 *         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":10092
 *             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, 10092, __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, 10092, __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, 10092, __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, 10092, __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, 10092, __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, 10092, __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":10091
 *         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":10093
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10093, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10094
 *                 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, 10094, __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, 10094, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10094, __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":10091
 *         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":10095
 *             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":10096
 *                 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, 10096, __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, 10096, __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, 10096, __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, 10096, __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, 10096, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10096, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr143__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr143__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10096, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 10096, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr143__pyx_v_line); __pyx_10genexpr143__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr143__pyx_v_line); __pyx_10genexpr143__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, 10096, __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, 10096, __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, 10096, __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, 10096, __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, 10096, __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":10095
 *             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":10097
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 10097, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10098
 *                 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, 10098, __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, 10098, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10098, __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":10095
 *             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":10099
 *             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, 10099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10089
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10101
 *             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":10088
 *     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_10genexpr143__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10102
 *         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":10104
 *     @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, 10104, __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, 10104, __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, 10104, __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":10105
 *     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":10104
 *     @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":10106
 *         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, 10106, __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, 10106, __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, 10106, __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":10102
 *         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":10107
 *             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, 10108, __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":10109
 *     @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, 10109, __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, 10109, __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":10107
 *             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":10110
 *     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":10112
 *     @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":10110
 *     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":10113
 *     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, 10114, __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":10115
 *     @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((PyObject*)__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, 10115, __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, 10115, __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":10113
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10149
 *         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, 10149, __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, 10149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10149, __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, 10149, __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, 10149, __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, 10149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10150
 *     """
 *     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":10151
 *     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":10150
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10153
 *             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":10149
 *         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":10154
 *         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, 10154, __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, 10154, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10154, __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, 10154, __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, 10154, __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, 10154, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10156
 *     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_t_3 = __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_3)) __PYX_ERR(0, 10156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10156, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10156, __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":10154
 *         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_5);
  __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":10157
 *         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":10159
 *     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":10160
 *         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":10159
 *     def __dealloc__(self):
 *         pass
 *         if self._attrs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":10157
 *         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":10161
 *         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":10162
 *             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, 10162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10161
 *         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":10163
 *     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":10164
 *         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":10165
 *     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, 10165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10166
 *         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":10167
 *             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, 10167, __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, 10167, __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, 10167, __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, 10167, __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, 10167, __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, 10167, __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":10166
 *         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":10168
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10168, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10169
 *                 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, 10169, __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, 10169, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10169, __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":10166
 *         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":10170
 *             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":10171
 *                 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, 10171, __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, 10171, __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, 10171, __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, 10171, __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, 10171, __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, 10171, __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":10170
 *             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":10172
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10172, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10173
 *                 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, 10173, __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, 10173, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10173, __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":10170
 *             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":10174
 *             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":10175
 *                 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, 10175, __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, 10175, __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, 10175, __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, 10175, __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, 10175, __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, 10175, __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":10174
 *             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":10176
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10176, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10177
 *                 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, 10177, __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, 10177, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10177, __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":10174
 *             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":10178
 *             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":10179
 *                 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, 10179, __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, 10179, __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, 10179, __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, 10179, __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, 10179, __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, 10179, __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":10178
 *             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":10180
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10180, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10181
 *                 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, 10181, __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, 10181, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10181, __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":10178
 *             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":10182
 *             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":10183
 *                 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, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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":10182
 *             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":10184
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10184, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10185
 *                 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, 10185, __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, 10185, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10185, __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":10182
 *             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":10186
 *             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":10187
 *                 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, 10187, __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, 10187, __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, 10187, __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, 10187, __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, 10187, __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, 10187, __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":10186
 *             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":10188
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10188, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10189
 *                 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, 10189, __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, 10189, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10189, __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":10186
 *             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":10190
 *             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":10191
 *                 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, 10191, __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, 10191, __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, 10191, __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, 10191, __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, 10191, __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, 10191, __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":10190
 *             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":10192
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10192, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10193
 *                 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, 10193, __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, 10193, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10193, __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":10190
 *             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":10194
 *             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":10195
 *                 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, 10195, __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, 10195, __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, 10195, __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, 10195, __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, 10195, __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, 10195, __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":10194
 *             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":10196
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10196, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10197
 *                 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, 10197, __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, 10197, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10197, __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":10194
 *             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":10198
 *             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":10199
 *                 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, 10199, __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, 10199, __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, 10199, __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, 10199, __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, 10199, __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, 10199, __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":10198
 *             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":10200
 *             try:
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10200, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10201
 *                 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, 10201, __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, 10201, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10201, __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":10198
 *             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":10202
 *             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":10203
 *                 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, 10203, __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, 10203, __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, 10203, __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, 10203, __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, 10203, __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, 10203, __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":10202
 *             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":10204
 *             try:
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10204, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10205
 *                 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, 10205, __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, 10205, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10205, __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":10202
 *             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":10206
 *             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, 10206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10164
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10208
 *             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":10163
 *     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":10209
 *         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":10211
 *     @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, 10211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10209
 *         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":10212
 *     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, 10213, __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":10214
 *     @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":10212
 *     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":10215
 *     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":10217
 *     @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, 10217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10215
 *     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":10218
 *     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, 10219, __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":10220
 *     @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":10218
 *     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":10221
 *     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":10223
 *     @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, 10223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10221
 *     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":10224
 *     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, 10225, __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":10226
 *     @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":10224
 *     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":10227
 *     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":10229
 *     @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, 10229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10227
 *     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":10230
 *     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, 10231, __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":10232
 *     @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":10230
 *     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":10233
 *     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":10235
 *     @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, 10235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10233
 *     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":10236
 *     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, 10237, __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":10238
 *     @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":10236
 *     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":10239
 *     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":10241
 *     @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, 10241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10239
 *     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":10242
 *     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, 10243, __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":10244
 *     @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":10242
 *     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":10245
 *     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":10247
 *     @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, 10247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10245
 *     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":10248
 *     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, 10249, __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":10250
 *     @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":10248
 *     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":10251
 *     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":10253
 *     @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":10251
 *     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":10254
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10257
 *     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":10258
 *         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":10257
 *     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":10259
 *         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":10260
 *             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, 10260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10261
 *         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, 10261, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10259
 *         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":10263
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10263, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10263, __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;

    /* "cuda/bindings/driver.pyx":10264
 *         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, 10264, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10265
 *             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":10254
 *     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_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":10266
 *             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_10genexpr144__pyx_v_x;
  PyObject *__pyx_10genexpr145__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10268
 *     @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, 10268, __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_10genexpr144__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_10genexpr144__pyx_v_x * (sizeof(CUlaunchAttribute))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10268, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 10268, __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":10269
 *     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, 10269, __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, 10269, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10269, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr145__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10269, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr145__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10269, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 10269, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 10269, __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_10genexpr145__pyx_v_arr); __pyx_10genexpr145__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr145__pyx_v_arr); __pyx_10genexpr145__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":10266
 *             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_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_10genexpr145__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10270
 *         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;
  size_t __pyx_t_8;
  CUlaunchAttribute *__pyx_t_9;
  Py_ssize_t __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":10272
 *     @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, 10272, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":10273
 *     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":10274
 *         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":10275
 *             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":10272
 *     @attrs.setter
 *     def attrs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *             self._attrs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10277
 *             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, 10277, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_attrs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":10278
 *         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":10279
 *             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, 10279, __pyx_L1_error)
      __pyx_v_self->_attrs = ((CUlaunchAttribute *)calloc(__pyx_t_1, (sizeof(CUlaunchAttribute))));

      /* "cuda/bindings/driver.pyx":10280
 *                 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":10281
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10281, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10281, __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, 10281, __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, 10281, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10281, __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(CUlaunchAttribute))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10281, __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, 10281, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10281, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10281, __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, 10281, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":10280
 *                 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":10282
 *                 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, 10282, __pyx_L1_error)
      __pyx_v_self->_attrs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":10283
 *                     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_9 = __pyx_v_self->_attrs;
      (__pyx_v_self->_pvt_ptr[0]).attrs = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":10277
 *             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":10284
 *                 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, 10284, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":10285
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10285, __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":10270
 *         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_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":10287
 *                 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":10289
 *     @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, 10289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10287
 *                 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":10290
 *     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, 10291, __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":10292
 *     @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":10290
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10308
 *         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, 10308, __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, 10308, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10308, __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, 10308, __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, 10308, __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, 10308, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10309
 *     """
 *     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":10310
 *     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":10309
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10312
 *             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":10308
 *         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":10313
 *         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, 10313, __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, 10313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10313, __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, 10313, __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, 10313, __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, 10313, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10315
 *     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":10317
 *     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":10318
 *         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, 10318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10317
 *     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":10319
 *     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":10320
 *         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":10321
 *     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, 10321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10322
 *         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":10323
 *             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, 10323, __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, 10323, __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, 10323, __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, 10323, __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, 10323, __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, 10323, __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":10322
 *         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":10324
 *             try:
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10324, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10325
 *                 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, 10325, __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, 10325, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10325, __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":10322
 *         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":10326
 *             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, 10326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10320
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10328
 *             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":10319
 *     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":10329
 *         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":10331
 *     @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, 10331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10329
 *         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":10332
 *     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, 10333, __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":10334
 *     @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":10332
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10348
 *         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, 10348, __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, 10348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10348, __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, 10348, __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, 10348, __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, 10348, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 10348, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10349
 *     """
 *     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":10348
 *         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":10351
 *         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, 10351, __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, 10351, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10351, __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, 10351, __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, 10351, __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, 10351, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 10351, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10353
 *     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_t_3 = __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_3)) __PYX_ERR(0, 10353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10353, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10353, __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":10351
 *         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_5);
  __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":10354
 *         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":10356
 *     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":10357
 *         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, 10357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10356
 *     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":10358
 *     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_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":10359
 *         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":10360
 *     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, 10360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10361
 *         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":10362
 *             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, 10362, __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, 10362, __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, 10362, __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, 10362, __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, 10362, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10362, __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, 10362, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 10362, __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, 10362, __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, 10362, __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, 10362, __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, 10362, __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, 10362, __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":10361
 *         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":10363
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 10363, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10364
 *                 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, 10364, __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, 10364, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 10364, __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":10361
 *         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":10365
 *             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, 10365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10359
 *         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":10367
 *             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":10358
 *     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_10genexpr146__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10368
 *         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":10370
 *     @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":10368
 *         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":10371
 *     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, 10372, __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":10373
 *     @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((PyObject*)__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, 10373, __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, 10373, __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":10371
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10391
 *         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, 10391, __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, 10391, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10391, __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, 10391, __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, 10391, __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, 10391, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10392
 *     """
 *     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":10393
 *     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":10394
 *         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":10392
 *     """
 *     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":10396
 *             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":10391
 *         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":10397
 *         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, 10397, __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, 10397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10397, __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, 10397, __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, 10397, __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, 10397, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10399
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10399, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10399, __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":10397
 *         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_5);
  __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":10400
 *         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":10401
 *         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":10402
 *     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":10401
 *         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":10400
 *         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":10403
 *         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":10404
 *             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, 10404, __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
 *         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":10405
 *     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_10genexpr147__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":10406
 *         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":10407
 *     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, 10407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10408
 *         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":10409
 *             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, 10409, __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, 10409, __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, 10409, __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, 10409, __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, 10409, __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, 10409, __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":10408
 *         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":10410
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10410, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10411
 *                 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, 10411, __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, 10411, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10411, __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":10408
 *         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":10412
 *             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":10413
 *                 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, 10413, __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, 10413, __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, 10413, __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, 10413, __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, 10413, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10413, __pyx_L20_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, 10413, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 10413, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr147__pyx_v_line); __pyx_10genexpr147__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr147__pyx_v_line); __pyx_10genexpr147__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, 10413, __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, 10413, __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, 10413, __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, 10413, __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, 10413, __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":10412
 *             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":10414
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 10414, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":10415
 *                 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, 10415, __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, 10415, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10415, __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":10412
 *             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":10416
 *             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, 10416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10406
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10418
 *             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":10405
 *     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_10genexpr147__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10419
 *         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":10421
 *     @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, 10421, __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, 10421, __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, 10421, __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":10422
 *     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":10421
 *     @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":10423
 *         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, 10423, __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, 10423, __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, 10423, __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":10419
 *         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":10424
 *             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, 10425, __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":10426
 *     @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, 10426, __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, 10426, __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":10424
 *             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":10427
 *     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":10429
 *     @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":10427
 *     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":10430
 *     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, 10431, __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":10432
 *     @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((PyObject*)__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, 10432, __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, 10432, __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":10430
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10450
 *         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, 10450, __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, 10450, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10450, __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, 10450, __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, 10450, __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, 10450, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10451
 *     """
 *     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":10452
 *     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":10451
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10454
 *             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":10450
 *         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":10455
 *         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, 10455, __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, 10455, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10455, __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, 10455, __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, 10455, __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, 10455, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10457
 *     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":10459
 *     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":10460
 *         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, 10460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10459
 *     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":10461
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10462
 *         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":10463
 *     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, 10463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10464
 *         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":10465
 *             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, 10465, __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, 10465, __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, 10465, __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, 10465, __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, 10465, __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, 10465, __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":10464
 *         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":10466
 *             try:
 *                 str_list += ['sharedDataType : ' + str(self.sharedDataType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10466, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10467
 *                 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, 10467, __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, 10467, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10467, __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":10464
 *         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":10468
 *             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":10469
 *                 str_list += ['sharedDataType : <ValueError>']
 *             try:
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharedData : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharedData_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10469, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10469, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_sharedData, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10469, __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, 10469, __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, 10469, __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, 10469, __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":10468
 *             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":10470
 *             try:
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedData : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUctxCigParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10470, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10471
 *                 str_list += ['sharedData : ' + hex(self.sharedData)]
 *             except ValueError:
 *                 str_list += ['sharedData : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10471, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_sharedData_ValueError) != (0)) __PYX_ERR(0, 10471, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10471, __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":10468
 *             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":10472
 *             except ValueError:
 *                 str_list += ['sharedData : <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, 10472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10462
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10474
 *             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":10461
 *     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":10475
 *         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":10477
 *     @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, 10477, __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, 10477, __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, 10477, __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":10478
 *     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":10477
 *     @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":10479
 *         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, 10479, __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, 10479, __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, 10479, __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":10475
 *         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":10480
 *             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, 10481, __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":10482
 *     @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, 10482, __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, 10482, __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":10480
 *             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":10483
 *     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":10485
 *     @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, 10485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10483
 *     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":10486
 *     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;
  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":10488
 *     @sharedData.setter
 *     def sharedData(self, sharedData):
 *         _csharedData = _HelperInputVoidPtr(sharedData)             # <<<<<<<<<<<<<<
 *         self._pvt_ptr[0].sharedData = <void*><void_ptr>_csharedData.cptr
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_sharedData};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10488, __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":10489
 *     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, 10489, __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, 10489, __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_4));

  /* "cuda/bindings/driver.pyx":10486
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10510
 *         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, 10510, __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, 10510, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10510, __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, 10510, __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, 10510, __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, 10510, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10511
 *     """
 *     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":10512
 *     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":10511
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10514
 *             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":10510
 *         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":10515
 *         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, 10515, __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, 10515, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10515, __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, 10515, __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, 10515, __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, 10515, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10517
 *     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":10519
 *     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":10520
 *         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":10519
 *     def __dealloc__(self):
 *         pass
 *         if self._execAffinityParams is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *         if self._cigParams is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":10521
 *         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":10522
 *             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":10521
 *         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":10517
 *     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":10523
 *         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":10524
 *             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, 10524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10523
 *         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":10525
 *     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":10526
 *         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":10527
 *     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, 10527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10528
 *         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":10529
 *             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, 10529, __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, 10529, __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, 10529, __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, 10529, __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, 10529, __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, 10529, __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":10528
 *         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":10530
 *             try:
 *                 str_list += ['execAffinityParams : ' + str(self.execAffinityParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['execAffinityParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10530, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10531
 *                 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, 10531, __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, 10531, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10531, __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":10528
 *         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":10532
 *             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":10533
 *                 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, 10533, __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, 10533, __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, 10533, __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, 10533, __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, 10533, __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, 10533, __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":10532
 *             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":10534
 *             try:
 *                 str_list += ['numExecAffinityParams : ' + str(self.numExecAffinityParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExecAffinityParams : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10534, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10535
 *                 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, 10535, __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, 10535, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10535, __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":10532
 *             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":10536
 *             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":10537
 *                 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, 10537, __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, 10537, __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, 10537, __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, 10537, __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, 10537, __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, 10537, __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":10536
 *             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":10538
 *             try:
 *                 str_list += ['cigParams : ' + str(self.cigParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cigParams : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10538, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10539
 *                 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, 10539, __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, 10539, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10539, __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":10536
 *             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":10540
 *             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, 10540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10526
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10542
 *             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":10525
 *     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":10543
 *         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_10genexpr148__pyx_v_x;
  PyObject *__pyx_10genexpr149__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10545
 *     @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, 10545, __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_10genexpr148__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_10genexpr148__pyx_v_x * (sizeof(CUexecAffinityParam))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10545, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 10545, __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":10546
 *     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, 10546, __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, 10546, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10546, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr149__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10546, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr149__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10546, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 10546, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 10546, __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_10genexpr149__pyx_v_arr); __pyx_10genexpr149__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr149__pyx_v_arr); __pyx_10genexpr149__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":10543
 *         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_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_10genexpr149__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10547
 *         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;
  size_t __pyx_t_8;
  CUexecAffinityParam *__pyx_t_9;
  Py_ssize_t __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":10549
 *     @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, 10549, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":10550
 *     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":10551
 *         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":10552
 *             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":10549
 *     @execAffinityParams.setter
 *     def execAffinityParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._execAffinityParams)
 *             self._execAffinityParams_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10554
 *             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, 10554, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_execAffinityParams_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":10555
 *         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":10556
 *             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, 10556, __pyx_L1_error)
      __pyx_v_self->_execAffinityParams = ((CUexecAffinityParam *)calloc(__pyx_t_1, (sizeof(CUexecAffinityParam))));

      /* "cuda/bindings/driver.pyx":10557
 *                 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":10558
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10558, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10558, __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, 10558, __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, 10558, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10558, __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(CUexecAffinityParam))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10558, __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, 10558, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10558, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10558, __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, 10558, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":10557
 *                 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":10559
 *                 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, 10559, __pyx_L1_error)
      __pyx_v_self->_execAffinityParams_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":10560
 *                     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_9 = __pyx_v_self->_execAffinityParams;
      (__pyx_v_self->_pvt_ptr[0]).execAffinityParams = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":10554
 *             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":10561
 *                 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, 10561, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":10562
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10562, __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":10547
 *         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_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":10564
 *                 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":10566
 *     @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, 10566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10564
 *                 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":10567
 *     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, 10568, __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":10569
 *     @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":10567
 *     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":10570
 *     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_10genexpr150__pyx_v_x;
  PyObject *__pyx_10genexpr151__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":10572
 *     @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, 10572, __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_10genexpr150__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_10genexpr150__pyx_v_x * (sizeof(CUctxCigParam))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 10572, __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":10573
 *     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, 10573, __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, 10573, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10573, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr151__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10573, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr151__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10573, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 10573, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 10573, __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_10genexpr151__pyx_v_arr); __pyx_10genexpr151__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr151__pyx_v_arr); __pyx_10genexpr151__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":10570
 *     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_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_10genexpr151__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":10574
 *         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;
  size_t __pyx_t_8;
  CUctxCigParam *__pyx_t_9;
  Py_ssize_t __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":10576
 *     @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, 10576, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":10577
 *     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":10578
 *         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":10579
 *             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":10576
 *     @cigParams.setter
 *     def cigParams(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._cigParams)
 *             self._cigParams_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10581
 *             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, 10581, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_cigParams_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":10582
 *         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":10583
 *             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, 10583, __pyx_L1_error)
      __pyx_v_self->_cigParams = ((CUctxCigParam *)calloc(__pyx_t_1, (sizeof(CUctxCigParam))));

      /* "cuda/bindings/driver.pyx":10584
 *                 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":10585
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10585, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10585, __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, 10585, __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, 10585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10585, __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(CUctxCigParam))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10585, __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, 10585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10585, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10585, __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, 10585, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":10584
 *                 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":10586
 *                 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, 10586, __pyx_L1_error)
      __pyx_v_self->_cigParams_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":10587
 *                     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_9 = __pyx_v_self->_cigParams;
      (__pyx_v_self->_pvt_ptr[0]).cigParams = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":10581
 *             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":10588
 *                 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, 10588, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":10589
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10589, __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":10574
 *         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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10610
 *         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, 10610, __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, 10610, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10610, __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, 10610, __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, 10610, __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, 10610, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10611
 *     """
 *     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":10612
 *     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":10611
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10614
 *             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":10610
 *         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":10615
 *         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, 10615, __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, 10615, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10615, __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, 10615, __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, 10615, __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, 10615, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10617
 *     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":10619
 *     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":10620
 *         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, 10620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10619
 *     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":10621
 *     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;
  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":10622
 *         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":10623
 *     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, 10623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10624
 *         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":10625
 *             str_list = []
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_functionTable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10625, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10625, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_functionTable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10625, __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, 10625, __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, 10625, __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, 10625, __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":10624
 *         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;

      /* "cuda/bindings/driver.pyx":10626
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10626, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10627
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:
 *                 str_list += ['functionTable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10627, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_functionTable_ValueError) != (0)) __PYX_ERR(0, 10627, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10627, __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":10624
 *         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":10628
 *             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":10629
 *                 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, 10629, __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, 10629, __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_functionWindowSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10629, __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, 10629, __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, 10629, __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, 10629, __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":10628
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10630
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10630, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10631
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:
 *                 str_list += ['functionWindowSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10631, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_functionWindowSize_ValueError) != (0)) __PYX_ERR(0, 10631, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10631, __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":10628
 *             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":10632
 *             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":10633
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dataTable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10633, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10633, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_dataTable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10633, __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, 10633, __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, 10633, __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, 10633, __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":10632
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10634
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 10634, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10635
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:
 *                 str_list += ['dataTable : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10635, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dataTable_ValueError) != (0)) __PYX_ERR(0, 10635, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10635, __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":10632
 *             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":10636
 *             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":10637
 *                 str_list += ['dataTable : <ValueError>']
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dataWindowSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10637, __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, 10637, __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_dataWindowSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10637, __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, 10637, __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, 10637, __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, 10637, __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":10636
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":10638
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 10638, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10639
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10639, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dataWindowSize_ValueError) != (0)) __PYX_ERR(0, 10639, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10639, __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":10636
 *             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":10640
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <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, 10640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10622
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10642
 *             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":10621
 *     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.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":10643
 *         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":10645
 *     @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, 10645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10643
 *         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":10646
 *     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;
  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":10648
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_functionTable};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10648, __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":10649
 *     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, 10649, __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, 10649, __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_4));

  /* "cuda/bindings/driver.pyx":10646
 *     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_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":10650
 *         _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":10652
 *     @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, 10652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10650
 *         _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":10653
 *     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, 10654, __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":10655
 *     @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":10653
 *     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":10656
 *     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":10658
 *     @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, 10658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10656
 *     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":10659
 *     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;
  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":10661
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dataTable};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10661, __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":10662
 *     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, 10662, __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, 10662, __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_4));

  /* "cuda/bindings/driver.pyx":10659
 *     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_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":10663
 *         _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":10665
 *     @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, 10665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10663
 *         _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":10666
 *     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, 10667, __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":10668
 *     @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":10666
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":10714
 *         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, 10714, __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, 10714, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10714, __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, 10714, __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, 10714, __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, 10714, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":10715
 *     """
 *     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":10716
 *     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":10715
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":10718
 *             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":10714
 *         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":10719
 *         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, 10719, __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, 10719, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 10719, __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, 10719, __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, 10719, __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, 10719, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":10721
 *     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_t_3 = __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_3)) __PYX_ERR(0, 10721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10721, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10721, __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":10722
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 10722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10722, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 10722, __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":10723
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 10723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10723, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 10723, __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":10724
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 10724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 10724, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 10724, __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":10719
 *         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_5);
  __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":10725
 *         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":10727
 *     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":10728
 *         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, 10728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10727
 *     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":10729
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":10730
 *         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":10731
 *     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, 10731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10732
 *         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":10733
 *             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, 10733, __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, 10733, __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, 10733, __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, 10733, __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, 10733, __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, 10733, __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":10732
 *         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":10734
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10734, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10735
 *                 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, 10735, __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, 10735, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10735, __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":10732
 *         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":10736
 *             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":10737
 *                 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, 10737, __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, 10737, __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, 10737, __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, 10737, __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, 10737, __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, 10737, __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":10736
 *             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":10738
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10738, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10739
 *                 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, 10739, __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, 10739, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10739, __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":10736
 *             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":10740
 *             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":10741
 *                 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, 10741, __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, 10741, __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, 10741, __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, 10741, __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, 10741, __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, 10741, __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":10740
 *             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":10742
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10742, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10743
 *                 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, 10743, __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, 10743, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10743, __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":10740
 *             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":10744
 *             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":10745
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10745, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10745, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10745, __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, 10745, __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, 10745, __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, 10745, __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":10744
 *             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":10746
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10746, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10747
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10747, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 10747, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10747, __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":10744
 *             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":10748
 *             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":10749
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10749, __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, 10749, __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_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10749, __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, 10749, __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, 10749, __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, 10749, __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":10748
 *             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":10750
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10750, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10751
 *                 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, 10751, __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, 10751, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10751, __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":10748
 *             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":10752
 *             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":10753
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10753, __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, 10753, __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_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10753, __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, 10753, __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, 10753, __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, 10753, __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":10752
 *             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":10754
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10754, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10755
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10755, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 10755, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10755, __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":10752
 *             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":10756
 *             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":10757
 *                 str_list += ['srcArray : <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, 10757, __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, 10757, __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_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10757, __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, 10757, __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, 10757, __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, 10757, __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":10756
 *             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":10758
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10758, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10759
 *                 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, 10759, __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, 10759, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10759, __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":10756
 *             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":10760
 *             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":10761
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10761, __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, 10761, __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_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10761, __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, 10761, __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, 10761, __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, 10761, __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":10760
 *             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":10762
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10762, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10763
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10763, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 10763, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10763, __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":10760
 *             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":10764
 *             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":10765
 *                 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, 10765, __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, 10765, __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_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10765, __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, 10765, __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, 10765, __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, 10765, __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":10764
 *             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":10766
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10766, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10767
 *                 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, 10767, __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, 10767, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10767, __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":10764
 *             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":10768
 *             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":10769
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10769, __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, 10769, __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_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10769, __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, 10769, __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, 10769, __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, 10769, __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":10768
 *             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":10770
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10770, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10771
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10771, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 10771, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10771, __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":10768
 *             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":10772
 *             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":10773
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10773, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10773, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10773, __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, 10773, __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, 10773, __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, 10773, __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":10772
 *             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":10774
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10774, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10775
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10775, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 10775, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10775, __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":10772
 *             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":10776
 *             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":10777
 *                 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, 10777, __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, 10777, __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_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10777, __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, 10777, __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, 10777, __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, 10777, __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":10776
 *             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":10778
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10778, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10779
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10779, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 10779, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10779, __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":10776
 *             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":10780
 *             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":10781
 *                 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, 10781, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10781, __pyx_L100_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_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10781, __pyx_L100_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, 10781, __pyx_L100_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, 10781, __pyx_L100_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, 10781, __pyx_L100_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":10780
 *             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":10782
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10782, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10783
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10783, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 10783, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10783, __pyx_L102_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_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":10780
 *             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":10784
 *             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":10785
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10785, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10785, __pyx_L108_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_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10785, __pyx_L108_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, 10785, __pyx_L108_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, 10785, __pyx_L108_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, 10785, __pyx_L108_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":10784
 *             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":10786
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10786, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10787
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10787, __pyx_L110_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, 10787, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10787, __pyx_L110_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_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":10784
 *             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":10788
 *             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":10789
 *                 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, 10789, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10789, __pyx_L116_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_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10789, __pyx_L116_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, 10789, __pyx_L116_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, 10789, __pyx_L116_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, 10789, __pyx_L116_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":10788
 *             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":10790
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10790, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":10791
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10791, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 10791, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 10791, __pyx_L118_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_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":10788
 *             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":10792
 *             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":10793
 *                 str_list += ['WidthInBytes : <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, 10793, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10793, __pyx_L124_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, 10793, __pyx_L124_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, 10793, __pyx_L124_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, 10793, __pyx_L124_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, 10793, __pyx_L124_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":10792
 *             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":10794
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 10794, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":10795
 *                 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, 10795, __pyx_L126_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, 10795, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 10795, __pyx_L126_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_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":10792
 *             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":10796
 *             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, 10796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":10730
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":10798
 *             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":10729
 *     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":10799
 *         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":10801
 *     @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, 10801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10799
 *         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":10802
 *     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, 10803, __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":10804
 *     @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":10802
 *     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":10805
 *     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":10807
 *     @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, 10807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10805
 *     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":10808
 *     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, 10809, __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":10810
 *     @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":10808
 *     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":10811
 *     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":10813
 *     @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, 10813, __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, 10813, __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, 10813, __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":10814
 *     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":10813
 *     @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":10815
 *         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, 10815, __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, 10815, __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, 10815, __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":10811
 *     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":10816
 *             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, 10817, __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":10818
 *     @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, 10818, __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, 10818, __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":10816
 *             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":10819
 *     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":10821
 *     @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, 10821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10819
 *     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":10822
 *     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;
  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":10824
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10824, __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":10825
 *     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, 10825, __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, 10825, __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_4));

  /* "cuda/bindings/driver.pyx":10822
 *     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_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":10826
 *         _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":10828
 *     @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":10826
 *         _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":10829
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10832
 *     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":10833
 *         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":10832
 *     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":10834
 *         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":10835
 *             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, 10835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10836
 *         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, 10836, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10834
 *         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":10838
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10838, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10838, __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;

    /* "cuda/bindings/driver.pyx":10839
 *         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, 10839, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10840
 *             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":10829
 *     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_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":10842
 *         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":10844
 *     @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":10842
 *         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":10845
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10848
 *     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":10849
 *         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":10848
 *     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":10850
 *         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":10851
 *             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, 10851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10852
 *         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, 10852, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10850
 *         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":10854
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10854, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10854, __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;

    /* "cuda/bindings/driver.pyx":10855
 *         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, 10855, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10856
 *             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":10845
 *     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_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":10857
 *             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":10859
 *     @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, 10859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10857
 *             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":10860
 *     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, 10861, __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":10862
 *     @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":10860
 *     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":10863
 *     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":10865
 *     @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, 10865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10863
 *     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":10866
 *     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, 10867, __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":10868
 *     @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":10866
 *     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":10869
 *     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":10871
 *     @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, 10871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10869
 *     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":10872
 *     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, 10873, __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":10874
 *     @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":10872
 *     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":10875
 *     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":10877
 *     @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, 10877, __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, 10877, __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, 10877, __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":10878
 *     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":10877
 *     @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":10879
 *         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, 10879, __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, 10879, __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, 10879, __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":10875
 *     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":10880
 *             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, 10881, __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":10882
 *     @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, 10882, __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, 10882, __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":10880
 *             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":10883
 *     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":10885
 *     @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, 10885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10883
 *     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":10886
 *     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;
  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":10888
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10888, __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":10889
 *     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, 10889, __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, 10889, __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_4));

  /* "cuda/bindings/driver.pyx":10886
 *     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_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":10890
 *         _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":10892
 *     @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":10890
 *         _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":10893
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10896
 *     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":10897
 *         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":10896
 *     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":10898
 *         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":10899
 *             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, 10899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10900
 *         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, 10900, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10898
 *         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":10902
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10902, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10902, __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;

    /* "cuda/bindings/driver.pyx":10903
 *         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, 10903, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10904
 *             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":10893
 *     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_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":10906
 *         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":10908
 *     @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":10906
 *         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":10909
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":10912
 *     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":10913
 *         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":10912
 *     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":10914
 *         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":10915
 *             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, 10915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":10916
 *         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, 10916, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":10914
 *         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":10918
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10918, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10918, __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;

    /* "cuda/bindings/driver.pyx":10919
 *         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, 10919, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":10920
 *             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":10909
 *     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_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":10921
 *             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":10923
 *     @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, 10923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10921
 *             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":10924
 *     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, 10925, __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":10926
 *     @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":10924
 *     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":10927
 *     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":10929
 *     @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, 10929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10927
 *     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":10930
 *     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, 10931, __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":10932
 *     @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":10930
 *     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":10933
 *     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":10935
 *     @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, 10935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":10933
 *     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":10936
 *     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, 10937, __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":10938
 *     @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":10936
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":11003
 *         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, 11003, __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, 11003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11003, __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, 11003, __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, 11003, __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, 11003, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11004
 *     """
 *     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":11005
 *     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":11004
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11007
 *             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":11003
 *         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":11008
 *         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, 11008, __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, 11008, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11008, __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, 11008, __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, 11008, __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, 11008, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11010
 *     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_t_3 = __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_3)) __PYX_ERR(0, 11010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11010, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11010, __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":11011
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11011, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11011, __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":11012
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11012, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11012, __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":11013
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11013, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11013, __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":11008
 *         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_5);
  __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":11014
 *         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":11016
 *     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":11017
 *         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, 11017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11016
 *     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":11018
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11019
 *         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":11020
 *     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, 11020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11021
 *         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":11022
 *             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, 11022, __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, 11022, __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, 11022, __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, 11022, __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, 11022, __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, 11022, __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":11021
 *         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":11023
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11023, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11024
 *                 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, 11024, __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, 11024, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11024, __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":11021
 *         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":11025
 *             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":11026
 *                 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, 11026, __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, 11026, __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, 11026, __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, 11026, __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, 11026, __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, 11026, __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":11025
 *             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":11027
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11027, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11028
 *                 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, 11028, __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, 11028, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11028, __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":11025
 *             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":11029
 *             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":11030
 *                 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, 11030, __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, 11030, __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, 11030, __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, 11030, __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, 11030, __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, 11030, __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":11029
 *             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":11031
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11031, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11032
 *                 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, 11032, __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, 11032, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11032, __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":11029
 *             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":11033
 *             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":11034
 *                 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, 11034, __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, 11034, __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, 11034, __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, 11034, __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, 11034, __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, 11034, __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":11033
 *             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":11035
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11035, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11036
 *                 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, 11036, __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, 11036, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11036, __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":11033
 *             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":11037
 *             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":11038
 *                 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, 11038, __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, 11038, __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, 11038, __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, 11038, __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, 11038, __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, 11038, __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":11037
 *             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":11039
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11039, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11040
 *                 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, 11040, __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, 11040, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11040, __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":11037
 *             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":11041
 *             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":11042
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11042, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11042, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11042, __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, 11042, __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, 11042, __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, 11042, __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":11041
 *             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":11043
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11043, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11044
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11044, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 11044, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11044, __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":11041
 *             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":11045
 *             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":11046
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11046, __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, 11046, __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_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11046, __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, 11046, __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, 11046, __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, 11046, __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":11045
 *             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":11047
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11047, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11048
 *                 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, 11048, __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, 11048, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11048, __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":11045
 *             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":11049
 *             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":11050
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11050, __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, 11050, __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_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11050, __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, 11050, __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, 11050, __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, 11050, __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":11049
 *             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":11051
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11051, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11052
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11052, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 11052, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11052, __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":11049
 *             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":11053
 *             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":11054
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved0_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11054, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11054, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_reserved0, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11054, __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, 11054, __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, 11054, __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, 11054, __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":11053
 *             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":11055
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11055, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11056
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:
 *                 str_list += ['reserved0 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11056, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_reserved0_ValueError) != (0)) __PYX_ERR(0, 11056, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11056, __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":11053
 *             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":11057
 *             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":11058
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11058, __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, 11058, __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_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11058, __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, 11058, __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, 11058, __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, 11058, __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":11057
 *             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":11059
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11059, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11060
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11060, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError) != (0)) __PYX_ERR(0, 11060, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11060, __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":11057
 *             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":11061
 *             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":11062
 *                 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, 11062, __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, 11062, __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_srcHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11062, __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, 11062, __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, 11062, __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, 11062, __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":11061
 *             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":11063
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11063, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11064
 *                 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, 11064, __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, 11064, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11064, __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":11061
 *             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":11065
 *             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":11066
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11066, __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, 11066, __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_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11066, __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, 11066, __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, 11066, __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, 11066, __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":11065
 *             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":11067
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11067, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11068
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11068, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 11068, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11068, __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":11065
 *             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":11069
 *             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":11070
 *                 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, 11070, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11070, __pyx_L100_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_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11070, __pyx_L100_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, 11070, __pyx_L100_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, 11070, __pyx_L100_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, 11070, __pyx_L100_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":11069
 *             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":11071
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11071, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11072
 *                 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, 11072, __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, 11072, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11072, __pyx_L102_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_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":11069
 *             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":11073
 *             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":11074
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11074, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11074, __pyx_L108_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_dstZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11074, __pyx_L108_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, 11074, __pyx_L108_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, 11074, __pyx_L108_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, 11074, __pyx_L108_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":11073
 *             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":11075
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11075, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11076
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11076, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstZ_ValueError) != (0)) __PYX_ERR(0, 11076, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11076, __pyx_L110_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_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":11073
 *             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":11077
 *             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":11078
 *                 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, 11078, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11078, __pyx_L116_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_dstLOD, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11078, __pyx_L116_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, 11078, __pyx_L116_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, 11078, __pyx_L116_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, 11078, __pyx_L116_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":11077
 *             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":11079
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11079, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11080
 *                 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, 11080, __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, 11080, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11080, __pyx_L118_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_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":11077
 *             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":11081
 *             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":11082
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11082, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11082, __pyx_L124_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_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11082, __pyx_L124_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, 11082, __pyx_L124_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, 11082, __pyx_L124_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, 11082, __pyx_L124_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":11081
 *             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":11083
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11083, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11084
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11084, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 11084, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11084, __pyx_L126_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_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":11081
 *             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":11085
 *             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":11086
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11086, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11086, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11086, __pyx_L132_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, 11086, __pyx_L132_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, 11086, __pyx_L132_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, 11086, __pyx_L132_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":11085
 *             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":11087
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11087, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11088
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11088, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 11088, __pyx_L134_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11088, __pyx_L134_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_L133_exception_handled;
      }
      goto __pyx_L134_except_error;

      /* "cuda/bindings/driver.pyx":11085
 *             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":11089
 *             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":11090
 *                 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, 11090, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11090, __pyx_L140_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_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11090, __pyx_L140_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, 11090, __pyx_L140_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, 11090, __pyx_L140_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, 11090, __pyx_L140_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":11089
 *             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":11091
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11091, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11092
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11092, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 11092, __pyx_L142_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11092, __pyx_L142_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_L141_exception_handled;
      }
      goto __pyx_L142_except_error;

      /* "cuda/bindings/driver.pyx":11089
 *             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":11093
 *             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":11094
 *                 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, 11094, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11094, __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_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11094, __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, 11094, __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, 11094, __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, 11094, __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":11093
 *             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":11095
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11095, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11096
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11096, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 11096, __pyx_L150_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11096, __pyx_L150_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_L149_exception_handled;
      }
      goto __pyx_L150_except_error;

      /* "cuda/bindings/driver.pyx":11093
 *             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":11097
 *             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":11098
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved1_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11098, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11098, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11098, __pyx_L156_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, 11098, __pyx_L156_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, 11098, __pyx_L156_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, 11098, __pyx_L156_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":11097
 *             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":11099
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11099, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11100
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11100, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError) != (0)) __PYX_ERR(0, 11100, __pyx_L158_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11100, __pyx_L158_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_L157_exception_handled;
      }
      goto __pyx_L158_except_error;

      /* "cuda/bindings/driver.pyx":11097
 *             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":11101
 *             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":11102
 *                 str_list += ['reserved1 : <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, 11102, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11102, __pyx_L164_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_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11102, __pyx_L164_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, 11102, __pyx_L164_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, 11102, __pyx_L164_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, 11102, __pyx_L164_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":11101
 *             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":11103
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11103, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11104
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11104, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError) != (0)) __PYX_ERR(0, 11104, __pyx_L166_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11104, __pyx_L166_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_L165_exception_handled;
      }
      goto __pyx_L166_except_error;

      /* "cuda/bindings/driver.pyx":11101
 *             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":11105
 *             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":11106
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHeight_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11106, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11106, __pyx_L172_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_dstHeight, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11106, __pyx_L172_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, 11106, __pyx_L172_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, 11106, __pyx_L172_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, 11106, __pyx_L172_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":11105
 *             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":11107
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11107, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11108
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11108, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError) != (0)) __PYX_ERR(0, 11108, __pyx_L174_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11108, __pyx_L174_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_L173_exception_handled;
      }
      goto __pyx_L174_except_error;

      /* "cuda/bindings/driver.pyx":11105
 *             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":11109
 *             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":11110
 *                 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, 11110, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11110, __pyx_L180_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_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11110, __pyx_L180_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, 11110, __pyx_L180_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, 11110, __pyx_L180_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, 11110, __pyx_L180_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":11109
 *             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":11111
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11111, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11112
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11112, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 11112, __pyx_L182_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11112, __pyx_L182_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_L181_exception_handled;
      }
      goto __pyx_L182_except_error;

      /* "cuda/bindings/driver.pyx":11109
 *             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":11113
 *             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":11114
 *                 str_list += ['WidthInBytes : <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, 11114, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11114, __pyx_L188_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, 11114, __pyx_L188_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, 11114, __pyx_L188_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, 11114, __pyx_L188_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, 11114, __pyx_L188_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":11113
 *             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":11115
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11115, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11116
 *                 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, 11116, __pyx_L190_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, 11116, __pyx_L190_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11116, __pyx_L190_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_L189_exception_handled;
      }
      goto __pyx_L190_except_error;

      /* "cuda/bindings/driver.pyx":11113
 *             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":11117
 *             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":11118
 *                 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, 11118, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11118, __pyx_L196_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, 11118, __pyx_L196_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, 11118, __pyx_L196_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, 11118, __pyx_L196_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, 11118, __pyx_L196_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":11117
 *             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":11119
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11119, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11120
 *                 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, 11120, __pyx_L198_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, 11120, __pyx_L198_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11120, __pyx_L198_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_L197_exception_handled;
      }
      goto __pyx_L198_except_error;

      /* "cuda/bindings/driver.pyx":11117
 *             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":11121
 *             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, 11121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11019
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11123
 *             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":11018
 *     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":11124
 *         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":11126
 *     @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, 11126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11124
 *         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":11127
 *     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, 11128, __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":11129
 *     @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":11127
 *     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":11130
 *     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":11132
 *     @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, 11132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11130
 *     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":11133
 *     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, 11134, __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":11135
 *     @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":11133
 *     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":11136
 *     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":11138
 *     @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, 11138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11136
 *     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":11139
 *     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, 11140, __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":11141
 *     @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":11139
 *     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":11142
 *     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":11144
 *     @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, 11144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11142
 *     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":11145
 *     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, 11146, __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":11147
 *     @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":11145
 *     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":11148
 *     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":11150
 *     @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, 11150, __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, 11150, __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, 11150, __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":11151
 *     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":11150
 *     @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":11152
 *         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, 11152, __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, 11152, __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, 11152, __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":11148
 *     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":11153
 *             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, 11154, __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":11155
 *     @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, 11155, __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, 11155, __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":11153
 *             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":11156
 *     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":11158
 *     @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, 11158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11156
 *     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":11159
 *     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;
  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":11161
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11161, __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":11162
 *     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, 11162, __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, 11162, __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_4));

  /* "cuda/bindings/driver.pyx":11159
 *     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_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":11163
 *         _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":11165
 *     @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":11163
 *         _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":11166
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11169
 *     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":11170
 *         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":11169
 *     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":11171
 *         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":11172
 *             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, 11172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11173
 *         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, 11173, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11171
 *         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":11175
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11175, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11175, __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;

    /* "cuda/bindings/driver.pyx":11176
 *         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, 11176, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11177
 *             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":11166
 *     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_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":11179
 *         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":11181
 *     @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":11179
 *         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":11182
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11185
 *     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":11186
 *         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":11185
 *     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":11187
 *         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":11188
 *             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, 11188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11189
 *         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, 11189, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11187
 *         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":11191
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11191, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11191, __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;

    /* "cuda/bindings/driver.pyx":11192
 *         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, 11192, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11193
 *             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":11182
 *     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_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":11194
 *             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":11196
 *     @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, 11196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11194
 *             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":11197
 *     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;
  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":11199
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_reserved0};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11199, __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":11200
 *     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, 11200, __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, 11200, __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_4));

  /* "cuda/bindings/driver.pyx":11197
 *     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_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":11201
 *         _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":11203
 *     @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, 11203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11201
 *         _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":11204
 *     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, 11205, __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":11206
 *     @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":11204
 *     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":11207
 *     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":11209
 *     @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, 11209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11207
 *     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":11210
 *     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, 11211, __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":11212
 *     @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":11210
 *     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":11213
 *     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":11215
 *     @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, 11215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11213
 *     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":11216
 *     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, 11217, __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":11218
 *     @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":11216
 *     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":11219
 *     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":11221
 *     @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, 11221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11219
 *     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":11222
 *     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, 11223, __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":11224
 *     @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":11222
 *     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":11225
 *     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":11227
 *     @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, 11227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11225
 *     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":11228
 *     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, 11229, __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":11230
 *     @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":11228
 *     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":11231
 *     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":11233
 *     @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, 11233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11231
 *     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":11234
 *     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, 11235, __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":11236
 *     @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":11234
 *     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":11237
 *     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":11239
 *     @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, 11239, __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, 11239, __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, 11239, __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":11240
 *     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":11239
 *     @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":11241
 *         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, 11241, __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, 11241, __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, 11241, __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":11237
 *     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":11242
 *             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, 11243, __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":11244
 *     @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, 11244, __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, 11244, __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":11242
 *             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":11245
 *     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":11247
 *     @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, 11247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11245
 *     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":11248
 *     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;
  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":11250
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11250, __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":11251
 *     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, 11251, __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, 11251, __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_4));

  /* "cuda/bindings/driver.pyx":11248
 *     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_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":11252
 *         _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":11254
 *     @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":11252
 *         _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":11255
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11258
 *     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":11259
 *         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":11258
 *     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":11260
 *         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":11261
 *             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, 11261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11262
 *         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, 11262, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11260
 *         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":11264
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11264, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11264, __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;

    /* "cuda/bindings/driver.pyx":11265
 *         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, 11265, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11266
 *             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":11255
 *     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_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":11268
 *         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":11270
 *     @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":11268
 *         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":11271
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11274
 *     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":11275
 *         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":11274
 *     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":11276
 *         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":11277
 *             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, 11277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11278
 *         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, 11278, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11276
 *         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":11280
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11280, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11280, __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;

    /* "cuda/bindings/driver.pyx":11281
 *         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, 11281, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11282
 *             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":11271
 *     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_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":11283
 *             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":11285
 *     @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, 11285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11283
 *             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":11286
 *     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;
  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":11288
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_reserved1};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11288, __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":11289
 *     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, 11289, __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, 11289, __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_4));

  /* "cuda/bindings/driver.pyx":11286
 *     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_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":11290
 *         _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":11292
 *     @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, 11292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11290
 *         _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":11293
 *     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, 11294, __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":11295
 *     @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":11293
 *     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":11296
 *     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":11298
 *     @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, 11298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11296
 *     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":11299
 *     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, 11300, __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":11301
 *     @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":11299
 *     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":11302
 *     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":11304
 *     @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, 11304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11302
 *     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":11305
 *     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, 11306, __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":11307
 *     @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":11305
 *     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":11308
 *     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":11310
 *     @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, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11308
 *     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":11311
 *     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, 11312, __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":11313
 *     @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":11311
 *     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":11314
 *     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":11316
 *     @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, 11316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11314
 *     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":11317
 *     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, 11318, __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":11319
 *     @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":11317
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":11385
 *         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, 11385, __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, 11385, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11385, __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, 11385, __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, 11385, __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, 11385, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11386
 *     """
 *     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":11387
 *     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":11386
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11389
 *             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":11385
 *         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":11390
 *         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, 11390, __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, 11390, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11390, __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, 11390, __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, 11390, __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, 11390, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11392
 *     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_t_3 = __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_3)) __PYX_ERR(0, 11392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11392, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11392, __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":11393
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11393, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11393, __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":11394
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11394, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11394, __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":11395
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11395, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11395, __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":11396
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11396, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11396, __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":11397
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11397, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11397, __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":11390
 *         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_5);
  __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":11398
 *         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":11400
 *     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":11401
 *         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, 11401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11400
 *     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":11402
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":11403
 *         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":11404
 *     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, 11404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11405
 *         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":11406
 *             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, 11406, __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, 11406, __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, 11406, __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, 11406, __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, 11406, __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, 11406, __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":11405
 *         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":11407
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11407, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11408
 *                 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, 11408, __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, 11408, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11408, __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":11405
 *         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":11409
 *             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":11410
 *                 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, 11410, __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, 11410, __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, 11410, __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, 11410, __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, 11410, __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, 11410, __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":11409
 *             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":11411
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11411, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11412
 *                 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, 11412, __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, 11412, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11412, __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":11409
 *             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":11413
 *             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":11414
 *                 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, 11414, __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, 11414, __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, 11414, __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, 11414, __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, 11414, __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, 11414, __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":11413
 *             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":11415
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11415, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11416
 *                 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, 11416, __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, 11416, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11416, __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":11413
 *             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":11417
 *             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":11418
 *                 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, 11418, __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, 11418, __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, 11418, __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, 11418, __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, 11418, __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, 11418, __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":11417
 *             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":11419
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11419, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11420
 *                 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, 11420, __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, 11420, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11420, __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":11417
 *             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":11421
 *             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":11422
 *                 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, 11422, __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, 11422, __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, 11422, __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, 11422, __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, 11422, __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, 11422, __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":11421
 *             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":11423
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11423, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11424
 *                 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, 11424, __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, 11424, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11424, __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":11421
 *             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":11425
 *             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":11426
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11426, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11426, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11426, __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, 11426, __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, 11426, __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, 11426, __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":11425
 *             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":11427
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11427, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11428
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:
 *                 str_list += ['srcHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11428, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError) != (0)) __PYX_ERR(0, 11428, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11428, __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":11425
 *             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":11429
 *             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":11430
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcDevice : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11430, __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, 11430, __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_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11430, __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, 11430, __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, 11430, __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, 11430, __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":11429
 *             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":11431
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11431, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11432
 *                 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, 11432, __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, 11432, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11432, __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":11429
 *             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":11433
 *             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":11434
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11434, __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, 11434, __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_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11434, __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, 11434, __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, 11434, __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, 11434, __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":11433
 *             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":11435
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11435, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11436
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:
 *                 str_list += ['srcArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11436, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError) != (0)) __PYX_ERR(0, 11436, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11436, __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":11433
 *             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":11437
 *             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":11438
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcContext : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcContext_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11438, __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, 11438, __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_srcContext, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11438, __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, 11438, __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, 11438, __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, 11438, __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":11437
 *             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":11439
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11439, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11440
 *                 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, 11440, __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, 11440, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11440, __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":11437
 *             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":11441
 *             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":11442
 *                 str_list += ['srcContext : <ValueError>']
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_srcPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11442, __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, 11442, __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_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11442, __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, 11442, __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, 11442, __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, 11442, __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":11441
 *             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":11443
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11443, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11444
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:
 *                 str_list += ['srcPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11444, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError) != (0)) __PYX_ERR(0, 11444, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11444, __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":11441
 *             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":11445
 *             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":11446
 *                 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, 11446, __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, 11446, __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_srcHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11446, __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, 11446, __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, 11446, __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, 11446, __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":11445
 *             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":11447
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11447, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11448
 *                 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, 11448, __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, 11448, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11448, __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":11445
 *             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":11449
 *             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":11450
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11450, __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, 11450, __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_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11450, __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, 11450, __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, 11450, __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, 11450, __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":11449
 *             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":11451
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11451, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11452
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:
 *                 str_list += ['dstXInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11452, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError) != (0)) __PYX_ERR(0, 11452, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11452, __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":11449
 *             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":11453
 *             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":11454
 *                 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, 11454, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11454, __pyx_L100_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_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11454, __pyx_L100_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, 11454, __pyx_L100_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, 11454, __pyx_L100_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, 11454, __pyx_L100_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":11453
 *             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":11455
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11455, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11456
 *                 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, 11456, __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, 11456, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11456, __pyx_L102_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_L101_exception_handled;
      }
      goto __pyx_L102_except_error;

      /* "cuda/bindings/driver.pyx":11453
 *             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":11457
 *             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":11458
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11458, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11458, __pyx_L108_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_dstZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11458, __pyx_L108_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, 11458, __pyx_L108_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, 11458, __pyx_L108_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, 11458, __pyx_L108_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":11457
 *             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":11459
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11459, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11460
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:
 *                 str_list += ['dstZ : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11460, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstZ_ValueError) != (0)) __PYX_ERR(0, 11460, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11460, __pyx_L110_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_L109_exception_handled;
      }
      goto __pyx_L110_except_error;

      /* "cuda/bindings/driver.pyx":11457
 *             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":11461
 *             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":11462
 *                 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, 11462, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11462, __pyx_L116_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_dstLOD, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11462, __pyx_L116_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, 11462, __pyx_L116_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, 11462, __pyx_L116_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, 11462, __pyx_L116_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":11461
 *             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":11463
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11463, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11464
 *                 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, 11464, __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, 11464, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11464, __pyx_L118_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_L117_exception_handled;
      }
      goto __pyx_L118_except_error;

      /* "cuda/bindings/driver.pyx":11461
 *             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":11465
 *             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":11466
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11466, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11466, __pyx_L124_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_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11466, __pyx_L124_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, 11466, __pyx_L124_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, 11466, __pyx_L124_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, 11466, __pyx_L124_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":11465
 *             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":11467
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11467, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11468
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:
 *                 str_list += ['dstMemoryType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11468, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError) != (0)) __PYX_ERR(0, 11468, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11468, __pyx_L126_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_L125_exception_handled;
      }
      goto __pyx_L126_except_error;

      /* "cuda/bindings/driver.pyx":11465
 *             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":11469
 *             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":11470
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11470, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11470, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11470, __pyx_L132_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, 11470, __pyx_L132_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, 11470, __pyx_L132_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, 11470, __pyx_L132_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":11469
 *             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":11471
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11471, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11472
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:
 *                 str_list += ['dstHost : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11472, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError) != (0)) __PYX_ERR(0, 11472, __pyx_L134_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11472, __pyx_L134_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_L133_exception_handled;
      }
      goto __pyx_L134_except_error;

      /* "cuda/bindings/driver.pyx":11469
 *             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":11473
 *             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":11474
 *                 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, 11474, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11474, __pyx_L140_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_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11474, __pyx_L140_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, 11474, __pyx_L140_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, 11474, __pyx_L140_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, 11474, __pyx_L140_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":11473
 *             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":11475
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11475, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11476
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:
 *                 str_list += ['dstDevice : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11476, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError) != (0)) __PYX_ERR(0, 11476, __pyx_L142_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11476, __pyx_L142_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_L141_exception_handled;
      }
      goto __pyx_L142_except_error;

      /* "cuda/bindings/driver.pyx":11473
 *             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":11477
 *             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":11478
 *                 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, 11478, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11478, __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_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11478, __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, 11478, __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, 11478, __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, 11478, __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":11477
 *             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":11479
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11479, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11480
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:
 *                 str_list += ['dstArray : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11480, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError) != (0)) __PYX_ERR(0, 11480, __pyx_L150_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11480, __pyx_L150_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_L149_exception_handled;
      }
      goto __pyx_L150_except_error;

      /* "cuda/bindings/driver.pyx":11477
 *             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":11481
 *             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":11482
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstContext_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11482, __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, 11482, __pyx_L156_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_dstContext, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11482, __pyx_L156_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, 11482, __pyx_L156_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, 11482, __pyx_L156_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, 11482, __pyx_L156_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":11481
 *             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":11483
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11483, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11484
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:
 *                 str_list += ['dstContext : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11484, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstContext_ValueError) != (0)) __PYX_ERR(0, 11484, __pyx_L158_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11484, __pyx_L158_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_L157_exception_handled;
      }
      goto __pyx_L158_except_error;

      /* "cuda/bindings/driver.pyx":11481
 *             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":11485
 *             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":11486
 *                 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, 11486, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11486, __pyx_L164_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_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11486, __pyx_L164_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, 11486, __pyx_L164_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, 11486, __pyx_L164_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, 11486, __pyx_L164_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":11485
 *             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":11487
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11487, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11488
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:
 *                 str_list += ['dstPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11488, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError) != (0)) __PYX_ERR(0, 11488, __pyx_L166_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11488, __pyx_L166_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_L165_exception_handled;
      }
      goto __pyx_L166_except_error;

      /* "cuda/bindings/driver.pyx":11485
 *             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":11489
 *             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":11490
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dstHeight_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11490, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11490, __pyx_L172_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_dstHeight, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11490, __pyx_L172_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, 11490, __pyx_L172_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, 11490, __pyx_L172_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, 11490, __pyx_L172_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":11489
 *             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":11491
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11491, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11492
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:
 *                 str_list += ['dstHeight : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11492, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError) != (0)) __PYX_ERR(0, 11492, __pyx_L174_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11492, __pyx_L174_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_L173_exception_handled;
      }
      goto __pyx_L174_except_error;

      /* "cuda/bindings/driver.pyx":11489
 *             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":11493
 *             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":11494
 *                 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, 11494, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11494, __pyx_L180_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_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11494, __pyx_L180_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, 11494, __pyx_L180_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, 11494, __pyx_L180_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, 11494, __pyx_L180_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":11493
 *             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":11495
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11495, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11496
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:
 *                 str_list += ['WidthInBytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11496, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError) != (0)) __PYX_ERR(0, 11496, __pyx_L182_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11496, __pyx_L182_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_L181_exception_handled;
      }
      goto __pyx_L182_except_error;

      /* "cuda/bindings/driver.pyx":11493
 *             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":11497
 *             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":11498
 *                 str_list += ['WidthInBytes : <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, 11498, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11498, __pyx_L188_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, 11498, __pyx_L188_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, 11498, __pyx_L188_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, 11498, __pyx_L188_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, 11498, __pyx_L188_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":11497
 *             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":11499
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11499, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11500
 *                 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, 11500, __pyx_L190_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, 11500, __pyx_L190_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11500, __pyx_L190_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_L189_exception_handled;
      }
      goto __pyx_L190_except_error;

      /* "cuda/bindings/driver.pyx":11497
 *             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":11501
 *             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":11502
 *                 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, 11502, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11502, __pyx_L196_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, 11502, __pyx_L196_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, 11502, __pyx_L196_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, 11502, __pyx_L196_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, 11502, __pyx_L196_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":11501
 *             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":11503
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11503, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11504
 *                 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, 11504, __pyx_L198_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, 11504, __pyx_L198_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11504, __pyx_L198_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_L197_exception_handled;
      }
      goto __pyx_L198_except_error;

      /* "cuda/bindings/driver.pyx":11501
 *             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":11505
 *             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, 11505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11403
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11507
 *             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":11402
 *     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":11508
 *         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":11510
 *     @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, 11510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11508
 *         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":11511
 *     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, 11512, __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":11513
 *     @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":11511
 *     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":11514
 *     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":11516
 *     @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, 11516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11514
 *     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":11517
 *     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, 11518, __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":11519
 *     @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":11517
 *     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":11520
 *     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":11522
 *     @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, 11522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11520
 *     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":11523
 *     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, 11524, __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":11525
 *     @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":11523
 *     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":11526
 *     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":11528
 *     @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, 11528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11526
 *     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":11529
 *     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, 11530, __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":11531
 *     @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":11529
 *     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":11532
 *     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":11534
 *     @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, 11534, __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, 11534, __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, 11534, __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":11535
 *     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":11534
 *     @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":11536
 *         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, 11536, __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, 11536, __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, 11536, __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":11532
 *     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":11537
 *             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, 11538, __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":11539
 *     @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, 11539, __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, 11539, __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":11537
 *             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":11540
 *     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":11542
 *     @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, 11542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11540
 *     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":11543
 *     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;
  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":11545
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11545, __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":11546
 *     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, 11546, __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, 11546, __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_4));

  /* "cuda/bindings/driver.pyx":11543
 *     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_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":11547
 *         _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":11549
 *     @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":11547
 *         _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":11550
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11553
 *     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":11554
 *         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":11553
 *     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":11555
 *         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":11556
 *             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, 11556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11557
 *         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, 11557, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11555
 *         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":11559
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11559, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11559, __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;

    /* "cuda/bindings/driver.pyx":11560
 *         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, 11560, __pyx_L1_error)
    __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11561
 *             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":11550
 *     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_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":11563
 *         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":11565
 *     @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":11563
 *         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":11566
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11569
 *     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":11570
 *         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":11569
 *     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":11571
 *         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":11572
 *             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, 11572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11573
 *         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, 11573, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11571
 *         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":11575
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11575, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11575, __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;

    /* "cuda/bindings/driver.pyx":11576
 *         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, 11576, __pyx_L1_error)
    __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11577
 *             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":11566
 *     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_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":11578
 *             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":11580
 *     @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":11578
 *             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":11581
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11584
 *     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":11585
 *         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":11584
 *     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":11586
 *         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":11587
 *             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, 11587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11588
 *         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, 11588, __pyx_L1_error)
    __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11586
 *         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":11590
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_srcContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11590, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11590, __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;

    /* "cuda/bindings/driver.pyx":11591
 *         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, 11591, __pyx_L1_error)
    __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11592
 *             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":11581
 *     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_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":11593
 *             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":11595
 *     @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, 11595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11593
 *             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":11596
 *     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, 11597, __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":11598
 *     @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":11596
 *     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":11599
 *     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":11601
 *     @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, 11601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11599
 *     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":11602
 *     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, 11603, __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":11604
 *     @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":11602
 *     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":11605
 *     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":11607
 *     @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, 11607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11605
 *     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":11608
 *     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, 11609, __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":11610
 *     @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":11608
 *     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":11611
 *     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":11613
 *     @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, 11613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11611
 *     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":11614
 *     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, 11615, __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":11616
 *     @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":11614
 *     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":11617
 *     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":11619
 *     @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, 11619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11617
 *     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":11620
 *     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, 11621, __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":11622
 *     @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":11620
 *     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":11623
 *     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":11625
 *     @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, 11625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11623
 *     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":11626
 *     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, 11627, __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":11628
 *     @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":11626
 *     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":11629
 *     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":11631
 *     @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, 11631, __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, 11631, __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, 11631, __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":11632
 *     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":11631
 *     @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":11633
 *         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, 11633, __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, 11633, __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, 11633, __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":11629
 *     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":11634
 *             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, 11635, __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":11636
 *     @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, 11636, __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, 11636, __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":11634
 *             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":11637
 *     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":11639
 *     @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, 11639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11637
 *     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":11640
 *     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;
  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":11642
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11642, __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":11643
 *     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, 11643, __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, 11643, __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_4));

  /* "cuda/bindings/driver.pyx":11640
 *     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_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":11644
 *         _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":11646
 *     @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":11644
 *         _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":11647
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11650
 *     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":11651
 *         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":11650
 *     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":11652
 *         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":11653
 *             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, 11653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11654
 *         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, 11654, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11652
 *         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":11656
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11656, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11656, __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;

    /* "cuda/bindings/driver.pyx":11657
 *         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, 11657, __pyx_L1_error)
    __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11658
 *             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":11647
 *     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_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":11660
 *         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":11662
 *     @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":11660
 *         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":11663
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11666
 *     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":11667
 *         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":11666
 *     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":11668
 *         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":11669
 *             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, 11669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11670
 *         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, 11670, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11668
 *         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":11672
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11672, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11672, __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;

    /* "cuda/bindings/driver.pyx":11673
 *         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, 11673, __pyx_L1_error)
    __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11674
 *             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":11663
 *     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_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":11675
 *             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":11677
 *     @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":11675
 *             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":11678
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11681
 *     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":11682
 *         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":11681
 *     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":11683
 *         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":11684
 *             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, 11684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11685
 *         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, 11685, __pyx_L1_error)
    __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11683
 *         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":11687
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dstContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11687, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11687, __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;

    /* "cuda/bindings/driver.pyx":11688
 *         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, 11688, __pyx_L1_error)
    __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11689
 *             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":11678
 *     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_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":11690
 *             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":11692
 *     @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, 11692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11690
 *             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":11693
 *     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, 11694, __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":11695
 *     @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":11693
 *     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":11696
 *     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":11698
 *     @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, 11698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11696
 *     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":11699
 *     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, 11700, __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":11701
 *     @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":11699
 *     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":11702
 *     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":11704
 *     @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, 11704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11702
 *     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":11705
 *     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, 11706, __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":11707
 *     @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":11705
 *     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":11708
 *     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":11710
 *     @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, 11710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11708
 *     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":11711
 *     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, 11712, __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":11713
 *     @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":11711
 *     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":11714
 *     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":11716
 *     @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, 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":11714
 *     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":11717
 *     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, 11718, __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":11719
 *     @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":11717
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":11741
 *         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, 11741, __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, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11741, __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, 11741, __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, 11741, __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, 11741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11742
 *     """
 *     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":11743
 *     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":11742
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11745
 *             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":11741
 *         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":11746
 *         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, 11746, __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, 11746, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11746, __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, 11746, __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, 11746, __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, 11746, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":11748
 *     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_t_3 = __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_3)) __PYX_ERR(0, 11748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11748, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 11748, __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":11749
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 11749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 11749, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 11749, __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":11746
 *         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_5);
  __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":11750
 *         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":11752
 *     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":11753
 *         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, 11753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11752
 *     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":11754
 *     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_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":11755
 *         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":11756
 *     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, 11756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11757
 *         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":11758
 *             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, 11758, __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, 11758, __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, 11758, __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, 11758, __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, 11758, __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, 11758, __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":11757
 *         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":11759
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11759, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11760
 *                 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, 11760, __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, 11760, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11760, __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":11757
 *         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":11761
 *             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":11762
 *                 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, 11762, __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, 11762, __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, 11762, __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, 11762, __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, 11762, __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, 11762, __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":11761
 *             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":11763
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11763, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11764
 *                 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, 11764, __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, 11764, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11764, __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":11761
 *             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":11765
 *             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":11766
 *                 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, 11766, __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, 11766, __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, 11766, __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, 11766, __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, 11766, __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, 11766, __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":11765
 *             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":11767
 *             try:
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11767, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11768
 *                 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, 11768, __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, 11768, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11768, __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":11765
 *             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":11769
 *             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":11770
 *                 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, 11770, __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, 11770, __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, 11770, __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, 11770, __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, 11770, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11770, __pyx_L36_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, 11770, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 11770, __pyx_L36_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_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr152__pyx_v_line); __pyx_10genexpr152__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, 11770, __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, 11770, __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, 11770, __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, 11770, __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, 11770, __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":11769
 *             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":11771
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 11771, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":11772
 *                 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, 11772, __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, 11772, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11772, __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":11769
 *             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":11773
 *             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, 11773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11755
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11775
 *             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":11754
 *     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_10genexpr152__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":11776
 *         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":11778
 *     @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, 11778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11776
 *         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":11779
 *     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, 11780, __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":11781
 *     @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":11779
 *     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":11782
 *     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":11784
 *     @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, 11784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11782
 *     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":11785
 *     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, 11786, __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":11787
 *     @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":11785
 *     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":11788
 *     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":11790
 *     @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":11788
 *     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":11791
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":11794
 *     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":11795
 *         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":11794
 *     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":11796
 *         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":11797
 *             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, 11797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcopyCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11798
 *         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, 11798, __pyx_L1_error)
    __pyx_v_cycopyCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":11796
 *         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":11800
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_copyCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11800, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcopyCtx = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":11801
 *         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, 11801, __pyx_L1_error)
    __pyx_v_cycopyCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":11802
 *             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":11791
 *     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_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":11803
 *             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":11805
 *     @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":11803
 *             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":11806
 *     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, 11807, __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":11808
 *     @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((PyObject*)__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, 11808, __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, 11808, __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":11806
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":11830
 *         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, 11830, __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, 11830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11830, __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, 11830, __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, 11830, __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, 11830, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11831
 *     """
 *     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":11832
 *     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":11831
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11834
 *             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":11830
 *         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":11835
 *         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, 11835, __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, 11835, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11835, __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, 11835, __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, 11835, __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, 11835, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11837
 *     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":11839
 *     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":11840
 *         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, 11840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11839
 *     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":11841
 *     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":11842
 *         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":11843
 *     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, 11843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11844
 *         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":11845
 *             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, 11845, __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, 11845, __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, 11845, __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, 11845, __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, 11845, __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, 11845, __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":11844
 *         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":11846
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11846, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11847
 *                 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, 11847, __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, 11847, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11847, __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":11844
 *         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":11848
 *             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":11849
 *                 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, 11849, __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, 11849, __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, 11849, __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, 11849, __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, 11849, __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, 11849, __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":11848
 *             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":11850
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11850, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11851
 *                 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, 11851, __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, 11851, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11851, __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":11848
 *             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":11852
 *             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":11853
 *                 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, 11853, __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, 11853, __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, 11853, __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, 11853, __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, 11853, __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, 11853, __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":11852
 *             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":11854
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11854, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11855
 *                 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, 11855, __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, 11855, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11855, __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":11852
 *             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":11856
 *             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":11857
 *                 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, 11857, __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, 11857, __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, 11857, __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, 11857, __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, 11857, __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, 11857, __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":11856
 *             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":11858
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11858, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11859
 *                 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, 11859, __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, 11859, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11859, __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":11856
 *             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":11860
 *             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, 11860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11842
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11862
 *             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":11841
 *     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":11863
 *         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":11865
 *     @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, 11865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11863
 *         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":11866
 *     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, 11867, __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":11868
 *     @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":11866
 *     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":11869
 *     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":11871
 *     @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, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11869
 *     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":11872
 *     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, 11873, __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":11874
 *     @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":11872
 *     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":11875
 *     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":11877
 *     @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, 11877, __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, 11877, __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, 11877, __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":11878
 *     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":11877
 *     @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":11879
 *         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, 11879, __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, 11879, __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, 11879, __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":11875
 *     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":11880
 *             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, 11881, __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":11882
 *     @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, 11882, __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, 11882, __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":11880
 *             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":11883
 *     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":11885
 *     @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, 11885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11883
 *     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":11886
 *     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, 11887, __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":11888
 *     @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":11886
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":11914
 *         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, 11914, __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, 11914, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11914, __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, 11914, __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, 11914, __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, 11914, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11915
 *     """
 *     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":11916
 *     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":11915
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":11918
 *             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":11914
 *         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":11919
 *         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, 11919, __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, 11919, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 11919, __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, 11919, __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, 11919, __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, 11919, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":11921
 *     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":11923
 *     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":11924
 *         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, 11924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11923
 *     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":11925
 *     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":11926
 *         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":11927
 *     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, 11927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":11928
 *         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":11929
 *             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, 11929, __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, 11929, __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, 11929, __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, 11929, __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, 11929, __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, 11929, __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":11928
 *         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":11930
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11930, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11931
 *                 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, 11931, __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, 11931, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11931, __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":11928
 *         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":11932
 *             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":11933
 *                 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, 11933, __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, 11933, __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, 11933, __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, 11933, __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, 11933, __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, 11933, __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":11932
 *             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":11934
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11934, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11935
 *                 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, 11935, __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, 11935, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11935, __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":11932
 *             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":11936
 *             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":11937
 *                 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, 11937, __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, 11937, __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, 11937, __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, 11937, __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, 11937, __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, 11937, __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":11936
 *             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":11938
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11938, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11939
 *                 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, 11939, __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, 11939, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11939, __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":11936
 *             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":11940
 *             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":11941
 *                 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, 11941, __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, 11941, __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, 11941, __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, 11941, __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, 11941, __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, 11941, __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":11940
 *             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":11942
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11942, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11943
 *                 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, 11943, __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, 11943, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11943, __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":11940
 *             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":11944
 *             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":11945
 *                 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, 11945, __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, 11945, __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, 11945, __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, 11945, __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, 11945, __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, 11945, __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":11944
 *             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":11946
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11946, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":11947
 *                 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, 11947, __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, 11947, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11947, __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":11944
 *             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":11948
 *             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":11949
 *                 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, 11949, __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, 11949, __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, 11949, __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, 11949, __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, 11949, __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, 11949, __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":11948
 *             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":11950
 *             try:
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 11950, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":11951
 *                 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, 11951, __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, 11951, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11951, __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":11948
 *             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":11952
 *             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, 11952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":11926
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":11954
 *             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":11925
 *     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":11955
 *         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":11957
 *     @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, 11957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11955
 *         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":11958
 *     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, 11959, __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":11960
 *     @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":11958
 *     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":11961
 *     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":11963
 *     @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, 11963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11961
 *     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":11964
 *     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, 11965, __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":11966
 *     @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":11964
 *     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":11967
 *     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":11969
 *     @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, 11969, __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 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":11970
 *     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, 11971, __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":11972
 *     @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":11970
 *     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":11973
 *     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":11975
 *     @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, 11975, __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, 11975, __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, 11975, __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":11976
 *     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":11975
 *     @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":11977
 *         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, 11977, __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, 11977, __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, 11977, __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":11973
 *     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":11978
 *             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, 11979, __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":11980
 *     @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, 11980, __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, 11980, __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":11978
 *             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":11981
 *     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":11983
 *     @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, 11983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11981
 *     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":11984
 *     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, 11985, __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":11986
 *     @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":11984
 *     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":11987
 *     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":11989
 *     @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, 11989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":11987
 *     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":11990
 *     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, 11991, __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":11992
 *     @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":11990
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12010
 *         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, 12010, __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, 12010, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12010, __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, 12010, __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, 12010, __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, 12010, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12010, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12011
 *     """
 *     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":12010
 *         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":12013
 *         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, 12013, __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, 12013, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12013, __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, 12013, __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, 12013, __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, 12013, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12013, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12015
 *     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":12017
 *     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":12018
 *         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, 12018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12017
 *     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":12019
 *     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":12020
 *         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":12021
 *     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, 12021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12022
 *         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":12023
 *             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, 12023, __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, 12023, __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, 12023, __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, 12023, __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, 12023, __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, 12023, __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":12022
 *         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":12024
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12024, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12025
 *                 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, 12025, __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, 12025, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12025, __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":12022
 *         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":12026
 *             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":12027
 *                 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, 12027, __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, 12027, __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, 12027, __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, 12027, __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, 12027, __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, 12027, __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":12026
 *             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":12028
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12028, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12029
 *                 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, 12029, __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, 12029, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12029, __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":12026
 *             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":12030
 *             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":12031
 *                 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, 12031, __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, 12031, __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, 12031, __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, 12031, __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, 12031, __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, 12031, __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":12030
 *             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":12032
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12032, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12033
 *                 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, 12033, __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, 12033, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12033, __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":12030
 *             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":12034
 *             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, 12034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12020
 *         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":12036
 *             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":12019
 *     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":12037
 *         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":12039
 *     @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, 12039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12037
 *         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":12040
 *     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, 12041, __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":12042
 *     @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":12040
 *     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":12043
 *     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":12045
 *     @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, 12045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12043
 *     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":12046
 *     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, 12047, __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":12048
 *     @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":12046
 *     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":12049
 *     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":12051
 *     @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, 12051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12049
 *     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":12052
 *     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, 12053, __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":12054
 *     @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":12052
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12079
 *         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, 12079, __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, 12079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12079, __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, 12079, __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, 12079, __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, 12079, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12080
 *     """
 *     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":12081
 *     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":12080
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12083
 *             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":12079
 *         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":12084
 *         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, 12084, __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, 12084, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12084, __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, 12084, __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, 12084, __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, 12084, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12086
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12086, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12086, __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":12084
 *         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_5);
  __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":12087
 *         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":12089
 *     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":12090
 *         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, 12090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12089
 *     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":12091
 *     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_10genexpr153__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":12092
 *         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":12093
 *     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, 12093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12094
 *         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":12095
 *             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, 12095, __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, 12095, __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, 12095, __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, 12095, __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, 12095, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12095, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr153__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr153__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12095, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12095, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr153__pyx_v_line); __pyx_10genexpr153__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr153__pyx_v_line); __pyx_10genexpr153__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, 12095, __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, 12095, __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, 12095, __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, 12095, __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, 12095, __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":12094
 *         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":12096
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12096, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12097
 *                 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, 12097, __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, 12097, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12097, __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":12094
 *         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":12098
 *             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":12099
 *                 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, 12099, __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, 12099, __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, 12099, __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, 12099, __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, 12099, __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, 12099, __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":12098
 *             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":12100
 *             try:
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12100, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12101
 *                 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, 12101, __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, 12101, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12101, __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":12098
 *             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":12102
 *             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":12103
 *                 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, 12103, __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, 12103, __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, 12103, __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, 12103, __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, 12103, __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, 12103, __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":12102
 *             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":12104
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12104, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12105
 *                 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, 12105, __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, 12105, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12105, __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":12102
 *             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":12106
 *             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":12107
 *                 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, 12107, __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, 12107, __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, 12107, __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, 12107, __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, 12107, __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, 12107, __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":12106
 *             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":12108
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12108, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12109
 *                 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, 12109, __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, 12109, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12109, __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":12106
 *             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":12110
 *             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":12111
 *                 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, 12111, __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, 12111, __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, 12111, __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, 12111, __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, 12111, __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, 12111, __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":12110
 *             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":12112
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12112, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12113
 *                 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, 12113, __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, 12113, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12113, __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":12110
 *             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":12114
 *             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, 12114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12092
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12116
 *             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":12091
 *     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_10genexpr153__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12117
 *         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":12119
 *     @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":12117
 *         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":12120
 *     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, 12121, __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":12122
 *     @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((PyObject*)__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, 12122, __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, 12122, __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":12120
 *     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":12123
 *     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":12125
 *     @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, 12125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12123
 *     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":12126
 *     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, 12127, __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":12128
 *     @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":12126
 *     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":12129
 *     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":12131
 *     @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, 12131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12129
 *     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":12132
 *     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, 12133, __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":12134
 *     @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":12132
 *     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":12135
 *     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":12137
 *     @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, 12137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12135
 *     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":12138
 *     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, 12139, __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":12140
 *     @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":12138
 *     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":12141
 *     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":12143
 *     @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, 12143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12141
 *     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":12144
 *     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":12146
 *     @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, 12146, __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":12144
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12166
 *         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, 12166, __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, 12166, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12166, __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, 12166, __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, 12166, __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, 12166, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12167
 *     """
 *     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":12168
 *     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":12167
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12170
 *             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":12166
 *         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":12171
 *         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, 12171, __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, 12171, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12171, __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, 12171, __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, 12171, __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, 12171, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12173
 *     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":12175
 *     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":12176
 *         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, 12176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12175
 *     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":12177
 *     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":12178
 *         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":12179
 *     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, 12179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12180
 *         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":12181
 *             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, 12181, __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, 12181, __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, 12181, __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, 12181, __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, 12181, __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, 12181, __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":12180
 *         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":12182
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12182, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12183
 *                 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, 12183, __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, 12183, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12183, __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":12180
 *         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":12184
 *             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":12185
 *                 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, 12185, __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, 12185, __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, 12185, __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, 12185, __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, 12185, __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, 12185, __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":12184
 *             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":12186
 *             try:
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12186, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12187
 *                 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, 12187, __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, 12187, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12187, __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":12184
 *             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":12188
 *             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":12189
 *                 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, 12189, __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, 12189, __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, 12189, __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, 12189, __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, 12189, __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, 12189, __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":12188
 *             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":12190
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12190, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12191
 *                 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, 12191, __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, 12191, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12191, __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":12188
 *             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":12192
 *             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, 12192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12178
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12194
 *             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":12177
 *     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":12195
 *         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":12197
 *     @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, 12197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12195
 *         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":12198
 *     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, 12199, __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":12200
 *     @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":12198
 *     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":12201
 *     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":12203
 *     @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, 12203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12201
 *     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":12204
 *     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, 12205, __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":12206
 *     @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":12204
 *     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":12207
 *     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":12209
 *     @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, 12209, __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
 *     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":12210
 *     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":12212
 *     @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, 12212, __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":12210
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12226
 *         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, 12226, __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, 12226, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12226, __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, 12226, __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, 12226, __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, 12226, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12226, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12227
 *     """
 *     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":12226
 *         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":12229
 *         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, 12229, __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, 12229, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12229, __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, 12229, __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, 12229, __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, 12229, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12229, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12231
 *     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_t_3 = __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_3)) __PYX_ERR(0, 12231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12231, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12231, __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":12229
 *         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_5);
  __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":12232
 *         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":12234
 *     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":12235
 *         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, 12235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12234
 *     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":12236
 *     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":12237
 *         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":12238
 *     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, 12238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12239
 *         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":12240
 *             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, 12240, __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, 12240, __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, 12240, __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, 12240, __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, 12240, __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, 12240, __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":12239
 *         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":12241
 *             try:
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12241, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12242
 *                 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, 12242, __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, 12242, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12242, __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":12239
 *         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":12243
 *             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, 12243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12237
 *         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":12245
 *             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":12236
 *     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":12246
 *         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":12248
 *     @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":12246
 *         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":12249
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12252
 *     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":12253
 *         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":12252
 *     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":12254
 *         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":12255
 *             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, 12255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12256
 *         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, 12256, __pyx_L1_error)
    __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12254
 *         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":12258
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12258, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12258, __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;

    /* "cuda/bindings/driver.pyx":12259
 *         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, 12259, __pyx_L1_error)
    __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12260
 *             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":12249
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12274
 *         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, 12274, __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, 12274, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12274, __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, 12274, __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, 12274, __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, 12274, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12274, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12275
 *     """
 *     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":12274
 *         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":12277
 *         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, 12277, __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, 12277, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12277, __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, 12277, __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, 12277, __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, 12277, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12277, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12279
 *     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_t_3 = __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_3)) __PYX_ERR(0, 12279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12279, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12279, __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":12277
 *         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_5);
  __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":12280
 *         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":12282
 *     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":12283
 *         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, 12283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12282
 *     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":12284
 *     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":12285
 *         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":12286
 *     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, 12286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12287
 *         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":12288
 *             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, 12288, __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, 12288, __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, 12288, __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, 12288, __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, 12288, __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, 12288, __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":12287
 *         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":12289
 *             try:
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12289, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12290
 *                 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, 12290, __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, 12290, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12290, __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":12287
 *         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":12291
 *             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, 12291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12285
 *         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":12293
 *             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":12284
 *     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":12294
 *         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":12296
 *     @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":12294
 *         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":12297
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12300
 *     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":12301
 *         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":12300
 *     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":12302
 *         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":12303
 *             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, 12303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12304
 *         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, 12304, __pyx_L1_error)
    __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12302
 *         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":12306
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12306, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12306, __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;

    /* "cuda/bindings/driver.pyx":12307
 *         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, 12307, __pyx_L1_error)
    __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12308
 *             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":12297
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12328
 *         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, 12328, __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, 12328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12328, __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, 12328, __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, 12328, __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, 12328, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12328, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12329
 *     """
 *     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":12328
 *         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":12331
 *         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, 12331, __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, 12331, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12331, __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, 12331, __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, 12331, __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, 12331, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12331, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12333
 *     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_t_3 = __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_3)) __PYX_ERR(0, 12333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12333, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12333, __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":12331
 *         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_5);
  __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":12334
 *         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":12336
 *     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":12337
 *         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, 12337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12336
 *     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":12338
 *     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":12339
 *         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":12340
 *     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, 12340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12341
 *         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":12342
 *             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, 12342, __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, 12342, __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, 12342, __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, 12342, __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, 12342, __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, 12342, __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":12341
 *         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":12343
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12343, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12344
 *                 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, 12344, __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, 12344, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12344, __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":12341
 *         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":12345
 *             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":12346
 *                 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, 12346, __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, 12346, __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, 12346, __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, 12346, __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, 12346, __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, 12346, __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":12345
 *             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":12347
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12347, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12348
 *                 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, 12348, __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, 12348, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12348, __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":12345
 *             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":12349
 *             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":12350
 *                 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, 12350, __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, 12350, __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, 12350, __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, 12350, __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, 12350, __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, 12350, __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":12349
 *             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":12351
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12351, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12352
 *                 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, 12352, __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, 12352, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12352, __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":12349
 *             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":12353
 *             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":12354
 *                 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, 12354, __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, 12354, __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, 12354, __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, 12354, __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, 12354, __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, 12354, __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":12353
 *             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":12355
 *             try:
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12355, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12356
 *                 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, 12356, __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, 12356, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12356, __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":12353
 *             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":12357
 *             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, 12357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12339
 *         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":12359
 *             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":12338
 *     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":12360
 *         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":12362
 *     @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":12360
 *         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":12363
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12366
 *     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":12367
 *         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":12366
 *     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":12368
 *         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":12369
 *             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, 12369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12370
 *         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, 12370, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12368
 *         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":12372
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12372, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12372, __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;

    /* "cuda/bindings/driver.pyx":12373
 *         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, 12373, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12374
 *             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":12363
 *     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_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":12376
 *         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":12378
 *     @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, 12378, __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, 12378, __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, 12378, __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":12379
 *     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":12378
 *     @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":12380
 *         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, 12380, __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, 12380, __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, 12380, __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":12376
 *         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":12381
 *             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, 12382, __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":12383
 *     @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, 12383, __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, 12383, __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":12381
 *             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":12384
 *     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":12386
 *     @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, 12386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12384
 *     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":12387
 *     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, 12388, __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":12389
 *     @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":12387
 *     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":12390
 *     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":12392
 *     @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, 12392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12390
 *     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":12393
 *     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, 12394, __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":12395
 *     @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":12393
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12419
 *         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, 12419, __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, 12419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12419, __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, 12419, __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, 12419, __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, 12419, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12420
 *     """
 *     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":12419
 *         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":12422
 *         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, 12422, __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, 12422, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12422, __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, 12422, __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, 12422, __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, 12422, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12422, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12424
 *     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_t_3 = __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_3)) __PYX_ERR(0, 12424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12424, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12424, __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":12422
 *         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_5);
  __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":12425
 *         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":12427
 *     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":12428
 *         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, 12428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12427
 *     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":12429
 *     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":12430
 *         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":12431
 *     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, 12431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12432
 *         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":12433
 *             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, 12433, __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, 12433, __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, 12433, __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, 12433, __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, 12433, __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, 12433, __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":12432
 *         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":12434
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12434, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12435
 *                 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, 12435, __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, 12435, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12435, __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":12432
 *         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":12436
 *             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":12437
 *                 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, 12437, __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, 12437, __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, 12437, __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, 12437, __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, 12437, __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, 12437, __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":12436
 *             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":12438
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12438, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12439
 *                 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, 12439, __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, 12439, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12439, __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":12436
 *             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":12440
 *             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":12441
 *                 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, 12441, __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, 12441, __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, 12441, __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, 12441, __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, 12441, __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, 12441, __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":12440
 *             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":12442
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12442, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12443
 *                 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, 12443, __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, 12443, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12443, __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":12440
 *             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":12444
 *             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":12445
 *                 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, 12445, __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, 12445, __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, 12445, __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, 12445, __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, 12445, __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, 12445, __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":12444
 *             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":12446
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12446, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12447
 *                 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, 12447, __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, 12447, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12447, __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":12444
 *             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":12448
 *             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":12449
 *                 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, 12449, __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, 12449, __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, 12449, __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, 12449, __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, 12449, __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, 12449, __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":12448
 *             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":12450
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12450, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12451
 *                 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, 12451, __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, 12451, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12451, __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":12448
 *             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":12452
 *             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":12453
 *                 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, 12453, __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, 12453, __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, 12453, __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, 12453, __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, 12453, __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, 12453, __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":12452
 *             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":12454
 *             try:
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12454, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12455
 *                 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, 12455, __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, 12455, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12455, __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":12452
 *             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":12456
 *             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, 12456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12430
 *         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":12458
 *             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":12429
 *     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":12459
 *         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":12461
 *     @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":12459
 *         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":12462
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":12465
 *     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":12466
 *         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":12465
 *     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":12467
 *         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":12468
 *             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, 12468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12469
 *         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, 12469, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":12467
 *         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":12471
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12471, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12471, __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;

    /* "cuda/bindings/driver.pyx":12472
 *         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, 12472, __pyx_L1_error)
    __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":12473
 *             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":12462
 *     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_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":12475
 *         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":12477
 *     @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, 12477, __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, 12477, __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, 12477, __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":12478
 *     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":12477
 *     @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":12479
 *         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, 12479, __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, 12479, __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, 12479, __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":12475
 *         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":12480
 *             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, 12481, __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":12482
 *     @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, 12482, __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, 12482, __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":12480
 *             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":12483
 *     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":12485
 *     @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, 12485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12483
 *     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":12486
 *     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, 12487, __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":12488
 *     @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":12486
 *     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":12489
 *     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":12491
 *     @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, 12491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12489
 *     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":12492
 *     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, 12493, __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":12494
 *     @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":12492
 *     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":12495
 *     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":12497
 *     @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, 12497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12495
 *     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":12498
 *     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, 12499, __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":12500
 *     @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":12498
 *     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":12501
 *     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":12503
 *     @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, 12503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12501
 *     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":12504
 *     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, 12505, __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":12506
 *     @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":12504
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12520
 *         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, 12520, __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, 12520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12520, __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, 12520, __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, 12520, __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, 12520, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12521
 *     """
 *     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":12520
 *         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":12523
 *         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, 12523, __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, 12523, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12523, __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, 12523, __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, 12523, __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, 12523, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12523, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12525
 *     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":12527
 *     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":12528
 *         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, 12528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12527
 *     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":12529
 *     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":12530
 *         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":12531
 *     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, 12531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12532
 *         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":12533
 *             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, 12533, __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, 12533, __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, 12533, __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, 12533, __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, 12533, __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, 12533, __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":12532
 *         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":12534
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12534, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12535
 *                 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, 12535, __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, 12535, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12535, __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":12532
 *         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":12536
 *             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, 12536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12530
 *         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":12538
 *             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":12529
 *     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":12539
 *         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":12541
 *     @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, 12541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12539
 *         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":12542
 *     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":12544
 *     @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, 12544, __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":12542
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12566
 *         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, 12566, __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, 12566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12566, __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, 12566, __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, 12566, __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, 12566, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12566, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12567
 *     """
 *     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":12566
 *         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":12569
 *         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, 12569, __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, 12569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12569, __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, 12569, __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, 12569, __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, 12569, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12571
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12571, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12571, __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":12572
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12572, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 12572, __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":12573
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12573, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12573, __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":12574
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12574, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 12574, __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":12575
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12575, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12575, __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":12569
 *         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_5);
  __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":12576
 *         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":12578
 *     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":12579
 *         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, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12578
 *     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":12580
 *     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_10genexpr154__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr155__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr156__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr157__pyx_v_line = 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;
  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":12581
 *         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":12582
 *     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, 12582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12583
 *         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":12584
 *             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, 12584, __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, 12584, __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, 12584, __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, 12584, __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, 12584, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12584, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr154__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr154__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12584, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12584, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr154__pyx_v_line); __pyx_10genexpr154__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr154__pyx_v_line); __pyx_10genexpr154__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, 12584, __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, 12584, __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, 12584, __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, 12584, __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, 12584, __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":12583
 *         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":12585
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12585, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12586
 *                 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, 12586, __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, 12586, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12586, __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":12583
 *         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":12587
 *             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":12588
 *                 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, 12588, __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, 12588, __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, 12588, __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, 12588, __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, 12588, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12588, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr155__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr155__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12588, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 12588, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr155__pyx_v_line); __pyx_10genexpr155__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr155__pyx_v_line); __pyx_10genexpr155__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, 12588, __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, 12588, __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, 12588, __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, 12588, __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, 12588, __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":12587
 *             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":12589
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12589, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":12590
 *                 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, 12590, __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, 12590, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12590, __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":12587
 *             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":12591
 *             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":12592
 *                 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, 12592, __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, 12592, __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, 12592, __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, 12592, __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, 12592, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12592, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr156__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr156__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12592, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 12592, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line); __pyx_10genexpr156__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line); __pyx_10genexpr156__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, 12592, __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, 12592, __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, 12592, __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, 12592, __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, 12592, __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":12591
 *             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":12593
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12593, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12594
 *                 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, 12594, __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, 12594, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12594, __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":12591
 *             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":12595
 *             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":12596
 *                 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, 12596, __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, 12596, __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, 12596, __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, 12596, __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, 12596, __pyx_L57_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12596, __pyx_L57_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, 12596, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12596, __pyx_L57_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line); __pyx_10genexpr157__pyx_v_line = 0;
          goto __pyx_L61_exit_scope;
          __pyx_L57_error:;
          __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line); __pyx_10genexpr157__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, 12596, __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, 12596, __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, 12596, __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, 12596, __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, 12596, __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":12595
 *             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":12597
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12597, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12598
 *                 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, 12598, __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, 12598, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12598, __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":12595
 *             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":12599
 *             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":12600
 *                 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, 12600, __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, 12600, __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, 12600, __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, 12600, __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, 12600, __pyx_L72_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12600, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr158__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr158__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12600, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 12600, __pyx_L72_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 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_L76_exit_scope;
          __pyx_L72_error:;
          __Pyx_XDECREF(__pyx_10genexpr158__pyx_v_line); __pyx_10genexpr158__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, 12600, __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, 12600, __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, 12600, __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, 12600, __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, 12600, __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":12599
 *             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":12601
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12601, __pyx_L66_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":12602
 *                 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, 12602, __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, 12602, __pyx_L66_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 12602, __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":12599
 *             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":12603
 *             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, 12603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12581
 *         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":12605
 *             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":12580
 *     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_10genexpr154__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr155__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr156__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr157__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr158__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12606
 *         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":12608
 *     @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":12606
 *         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":12609
 *     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, 12610, __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":12611
 *     @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((PyObject*)__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, 12611, __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, 12611, __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":12609
 *     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":12612
 *     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":12614
 *     @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":12612
 *     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":12615
 *     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, 12616, __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":12617
 *     @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((PyObject*)__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, 12617, __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, 12617, __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":12615
 *     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":12618
 *     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":12620
 *     @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":12618
 *     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":12621
 *     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, 12622, __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":12623
 *     @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((PyObject*)__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, 12623, __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, 12623, __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":12621
 *     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":12624
 *     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":12626
 *     @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":12624
 *     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":12627
 *     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, 12628, __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":12629
 *     @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((PyObject*)__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, 12629, __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, 12629, __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":12627
 *     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":12630
 *     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":12632
 *     @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":12630
 *     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":12633
 *     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, 12634, __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":12635
 *     @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((PyObject*)__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, 12635, __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, 12635, __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":12633
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12655
 *         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, 12655, __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, 12655, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12655, __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, 12655, __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, 12655, __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, 12655, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12656
 *     """
 *     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":12657
 *     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":12658
 *         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":12656
 *     """
 *     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":12660
 *             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":12655
 *         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":12661
 *         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, 12661, __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, 12661, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12661, __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, 12661, __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, 12661, __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, 12661, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":12663
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 12663, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union4, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 12663, __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":12661
 *         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_5);
  __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":12664
 *         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":12665
 *         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":12666
 *     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":12665
 *         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":12664
 *         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":12667
 *         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":12668
 *             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, 12668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12667
 *         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":12669
 *     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_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":12670
 *         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":12671
 *     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, 12671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12672
 *         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":12673
 *             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, 12673, __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, 12673, __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, 12673, __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, 12673, __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, 12673, __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, 12673, __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":12672
 *         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":12674
 *             try:
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12674, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12675
 *                 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, 12675, __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, 12675, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12675, __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":12672
 *         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":12676
 *             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":12677
 *                 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, 12677, __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, 12677, __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, 12677, __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, 12677, __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, 12677, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12677, __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, 12677, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12677, __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, 12677, __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, 12677, __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, 12677, __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, 12677, __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, 12677, __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":12676
 *             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":12678
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 12678, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":12679
 *                 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, 12679, __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, 12679, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12679, __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":12676
 *             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":12680
 *             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":12681
 *                 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, 12681, __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, 12681, __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, 12681, __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, 12681, __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, 12681, __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, 12681, __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":12680
 *             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":12682
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12682, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12683
 *                 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, 12683, __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, 12683, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12683, __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":12680
 *             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":12684
 *             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, 12684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12670
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12686
 *             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":12669
 *     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_10genexpr159__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12687
 *         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":12689
 *     @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, 12689, __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, 12689, __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, 12689, __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":12690
 *     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":12689
 *     @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":12691
 *         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, 12691, __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, 12691, __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, 12691, __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":12687
 *         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":12692
 *             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, 12693, __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":12694
 *     @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, 12694, __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, 12694, __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":12692
 *             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":12695
 *     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":12697
 *     @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":12695
 *     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":12698
 *     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, 12699, __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":12700
 *     @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((PyObject*)__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, 12700, __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, 12700, __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":12698
 *     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":12701
 *     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":12703
 *     @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, 12703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12701
 *     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":12704
 *     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, 12705, __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":12706
 *     @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":12704
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12740
 *         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, 12740, __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, 12740, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12740, __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, 12740, __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, 12740, __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, 12740, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12741
 *     """
 *     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":12742
 *     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":12741
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12744
 *             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":12740
 *         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":12745
 *         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, 12745, __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, 12745, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12745, __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, 12745, __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, 12745, __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, 12745, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12747
 *     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":12749
 *     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":12750
 *         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, 12750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12749
 *     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":12751
 *     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":12752
 *         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":12753
 *     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, 12753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12754
 *         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":12755
 *             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, 12755, __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, 12755, __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, 12755, __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, 12755, __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, 12755, __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, 12755, __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":12754
 *         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":12756
 *             try:
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12756, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12757
 *                 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, 12757, __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, 12757, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12757, __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":12754
 *         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":12758
 *             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":12759
 *                 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, 12759, __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, 12759, __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, 12759, __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, 12759, __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, 12759, __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, 12759, __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":12758
 *             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":12760
 *             try:
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12760, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12761
 *                 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, 12761, __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, 12761, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12761, __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":12758
 *             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":12762
 *             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":12763
 *                 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, 12763, __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, 12763, __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, 12763, __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, 12763, __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, 12763, __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, 12763, __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":12762
 *             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":12764
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12764, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12765
 *                 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, 12765, __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, 12765, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12765, __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":12762
 *             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":12766
 *             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":12767
 *                 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, 12767, __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, 12767, __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, 12767, __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, 12767, __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, 12767, __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, 12767, __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":12766
 *             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":12768
 *             try:
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12768, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12769
 *                 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, 12769, __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, 12769, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12769, __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":12766
 *             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":12770
 *             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":12771
 *                 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, 12771, __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, 12771, __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, 12771, __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, 12771, __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, 12771, __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, 12771, __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":12770
 *             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":12772
 *             try:
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12772, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12773
 *                 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, 12773, __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, 12773, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12773, __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":12770
 *             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":12774
 *             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":12775
 *                 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, 12775, __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, 12775, __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, 12775, __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, 12775, __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, 12775, __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, 12775, __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":12774
 *             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":12776
 *             try:
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12776, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12777
 *                 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, 12777, __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, 12777, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12777, __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":12774
 *             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":12778
 *             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":12779
 *                 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, 12779, __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, 12779, __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, 12779, __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, 12779, __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, 12779, __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, 12779, __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":12778
 *             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":12780
 *             try:
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12780, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12781
 *                 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, 12781, __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, 12781, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12781, __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":12778
 *             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":12782
 *             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":12783
 *                 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, 12783, __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, 12783, __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, 12783, __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, 12783, __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, 12783, __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, 12783, __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":12782
 *             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":12784
 *             try:
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12784, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12785
 *                 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, 12785, __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, 12785, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12785, __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":12782
 *             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":12786
 *             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":12787
 *                 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, 12787, __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, 12787, __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, 12787, __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, 12787, __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, 12787, __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, 12787, __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":12786
 *             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":12788
 *             try:
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12788, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12789
 *                 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, 12789, __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, 12789, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12789, __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":12786
 *             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":12790
 *             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":12791
 *                 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, 12791, __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, 12791, __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, 12791, __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, 12791, __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, 12791, __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, 12791, __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":12790
 *             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":12792
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12792, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12793
 *                 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, 12793, __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, 12793, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12793, __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":12790
 *             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":12794
 *             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, 12794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12752
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12796
 *             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":12751
 *     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":12797
 *         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_10genexpr160__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":12799
 *     @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, 12799, __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, 12799, __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, 12799, __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, 12799, __pyx_L5_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_4;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12799, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr160__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, 12799, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_10genexpr160__pyx_v__x, __pyx_t_5, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 12799, __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, 12799, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_10genexpr160__pyx_v__x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12799, __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, 12799, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr160__pyx_v__x); __pyx_10genexpr160__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr160__pyx_v__x); __pyx_10genexpr160__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":12797
 *         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_10genexpr160__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12800
 *     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_10genexpr161__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":12802
 *     @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, 12802, __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, 12802, __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, 12802, __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, 12802, __pyx_L5_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 12802, __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, 12802, __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, 12802, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_10genexpr161__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr161__pyx_v__x, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12802, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 12802, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr161__pyx_v__x); __pyx_10genexpr161__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_10genexpr161__pyx_v__x); __pyx_10genexpr161__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, 12802, __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":12800
 *     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_10genexpr161__pyx_v__x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":12803
 *     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":12805
 *     @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, 12805, __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, 12805, __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, 12805, __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":12806
 *     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":12805
 *     @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":12807
 *         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, 12807, __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, 12807, __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, 12807, __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":12803
 *     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":12808
 *             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, 12809, __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":12810
 *     @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, 12810, __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, 12810, __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":12808
 *             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":12811
 *     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":12813
 *     @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, 12813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12811
 *     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":12814
 *     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, 12815, __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":12816
 *     @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":12814
 *     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":12817
 *     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":12819
 *     @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, 12819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12817
 *     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":12820
 *     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, 12821, __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":12822
 *     @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":12820
 *     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":12823
 *     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":12825
 *     @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, 12825, __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, 12825, __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, 12825, __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":12826
 *     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":12825
 *     @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":12827
 *         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, 12827, __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, 12827, __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, 12827, __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":12823
 *     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":12828
 *             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, 12829, __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":12830
 *     @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, 12830, __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, 12830, __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":12828
 *             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":12831
 *     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":12833
 *     @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, 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":12831
 *     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":12834
 *     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, 12835, __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":12836
 *     @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":12834
 *     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":12837
 *     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":12839
 *     @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, 12839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12837
 *     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":12840
 *     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, 12841, __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":12842
 *     @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":12840
 *     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":12843
 *     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":12845
 *     @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, 12845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12843
 *     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":12846
 *     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, 12847, __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":12848
 *     @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":12846
 *     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":12849
 *     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":12851
 *     @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, 12851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12849
 *     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":12852
 *     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":12854
 *     @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, 12854, __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":12852
 *     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":12855
 *     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":12857
 *     @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, 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
 *     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":12858
 *     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":12860
 *     @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, 12860, __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":12858
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":12892
 *         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, 12892, __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, 12892, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12892, __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, 12892, __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, 12892, __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, 12892, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12893
 *     """
 *     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":12894
 *     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":12893
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":12896
 *             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":12892
 *         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":12897
 *         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, 12897, __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, 12897, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 12897, __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, 12897, __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, 12897, __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, 12897, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":12899
 *     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":12901
 *     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":12902
 *         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, 12902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12901
 *     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":12903
 *     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":12904
 *         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":12905
 *     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, 12905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":12906
 *         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":12907
 *             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, 12907, __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, 12907, __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, 12907, __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, 12907, __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, 12907, __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, 12907, __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":12906
 *         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":12908
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12908, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12909
 *                 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, 12909, __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, 12909, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12909, __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":12906
 *         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":12910
 *             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":12911
 *                 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, 12911, __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, 12911, __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, 12911, __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, 12911, __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, 12911, __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, 12911, __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":12910
 *             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":12912
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12912, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12913
 *                 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, 12913, __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, 12913, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12913, __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":12910
 *             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":12914
 *             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":12915
 *                 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, 12915, __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, 12915, __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, 12915, __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, 12915, __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, 12915, __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, 12915, __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":12914
 *             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":12916
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12916, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12917
 *                 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, 12917, __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, 12917, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12917, __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":12914
 *             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":12918
 *             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":12919
 *                 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, 12919, __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, 12919, __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, 12919, __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, 12919, __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, 12919, __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, 12919, __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":12918
 *             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":12920
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12920, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12921
 *                 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, 12921, __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, 12921, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12921, __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":12918
 *             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":12922
 *             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":12923
 *                 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, 12923, __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, 12923, __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, 12923, __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, 12923, __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, 12923, __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, 12923, __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":12922
 *             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":12924
 *             try:
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12924, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12925
 *                 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, 12925, __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, 12925, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12925, __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":12922
 *             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":12926
 *             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":12927
 *                 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, 12927, __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, 12927, __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, 12927, __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, 12927, __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, 12927, __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, 12927, __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":12926
 *             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":12928
 *             try:
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12928, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12929
 *                 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, 12929, __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, 12929, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12929, __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":12926
 *             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":12930
 *             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":12931
 *                 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, 12931, __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, 12931, __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, 12931, __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, 12931, __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, 12931, __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, 12931, __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":12930
 *             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":12932
 *             try:
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12932, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12933
 *                 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, 12933, __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, 12933, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12933, __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":12930
 *             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":12934
 *             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":12935
 *                 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, 12935, __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, 12935, __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, 12935, __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, 12935, __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, 12935, __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, 12935, __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":12934
 *             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":12936
 *             try:
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12936, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":12937
 *                 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, 12937, __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, 12937, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12937, __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":12934
 *             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":12938
 *             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":12939
 *                 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, 12939, __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, 12939, __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, 12939, __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, 12939, __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, 12939, __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, 12939, __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":12938
 *             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":12940
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 12940, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":12941
 *                 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, 12941, __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, 12941, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12941, __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":12938
 *             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":12942
 *             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, 12942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":12904
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":12944
 *             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":12903
 *     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":12945
 *         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":12947
 *     @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, 12947, __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, 12947, __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, 12947, __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":12948
 *     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":12947
 *     @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":12949
 *         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, 12949, __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, 12949, __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, 12949, __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":12945
 *         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":12950
 *             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, 12951, __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":12952
 *     @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, 12952, __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, 12952, __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":12950
 *             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":12953
 *     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":12955
 *     @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, 12955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12953
 *     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":12956
 *     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, 12957, __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":12958
 *     @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":12956
 *     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":12959
 *     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":12961
 *     @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, 12961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12959
 *     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":12962
 *     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, 12963, __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":12964
 *     @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":12962
 *     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":12965
 *     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":12967
 *     @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, 12967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12965
 *     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":12968
 *     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, 12969, __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":12970
 *     @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":12968
 *     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":12971
 *     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":12973
 *     @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, 12973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12971
 *     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":12974
 *     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, 12975, __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":12976
 *     @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":12974
 *     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":12977
 *     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":12979
 *     @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, 12979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12977
 *     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":12980
 *     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, 12981, __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":12982
 *     @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":12980
 *     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":12983
 *     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":12985
 *     @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, 12985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12983
 *     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":12986
 *     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, 12987, __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":12988
 *     @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":12986
 *     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":12989
 *     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":12991
 *     @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, 12991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12989
 *     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":12992
 *     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, 12993, __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":12994
 *     @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":12992
 *     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":12995
 *     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":12997
 *     @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, 12997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":12995
 *     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":12998
 *     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":13000
 *     @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, 13000, __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":12998
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13017
 *         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, 13017, __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, 13017, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13017, __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, 13017, __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, 13017, __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, 13017, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13018
 *     """
 *     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":13019
 *     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":13018
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13021
 *             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":13017
 *         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":13022
 *         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, 13022, __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, 13022, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13022, __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, 13022, __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, 13022, __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, 13022, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13024
 *     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":13026
 *     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":13027
 *         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, 13027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13026
 *     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":13028
 *     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":13029
 *         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":13030
 *     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, 13030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13031
 *         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":13032
 *             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, 13032, __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, 13032, __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, 13032, __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, 13032, __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, 13032, __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, 13032, __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":13031
 *         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":13033
 *             try:
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13033, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13034
 *                 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, 13034, __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, 13034, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13034, __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":13031
 *         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":13035
 *             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, 13035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13029
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13037
 *             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":13028
 *     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":13038
 *         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_10genexpr162__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;
  size_t __pyx_t_8;
  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":13040
 *     @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, 13040, __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_10genexpr162__pyx_v__opaque = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr162__pyx_v__opaque); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13040, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13040, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13040, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 13040, __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":13038
 *         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_9);
  __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":13041
 *     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":13043
 *     @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, 13043, __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":13041
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13062
 *         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, 13062, __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, 13062, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13062, __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, 13062, __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, 13062, __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, 13062, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13063
 *     """
 *     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":13064
 *     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":13063
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13066
 *             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":13062
 *         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":13067
 *         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, 13067, __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, 13067, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13067, __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, 13067, __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, 13067, __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, 13067, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13069
 *     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":13071
 *     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":13072
 *         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, 13072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13071
 *     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":13073
 *     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":13074
 *         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":13075
 *     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, 13075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13076
 *         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":13077
 *             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, 13077, __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, 13077, __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, 13077, __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, 13077, __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, 13077, __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, 13077, __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":13076
 *         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":13078
 *             try:
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13078, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13079
 *                 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, 13079, __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, 13079, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13079, __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":13076
 *         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":13080
 *             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":13081
 *                 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, 13081, __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, 13081, __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, 13081, __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, 13081, __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, 13081, __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, 13081, __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":13080
 *             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":13082
 *             try:
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13082, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13083
 *                 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, 13083, __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, 13083, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13083, __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":13080
 *             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":13084
 *             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, 13084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13074
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13086
 *             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":13073
 *     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":13087
 *         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":13089
 *     @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, 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
 *         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":13090
 *     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, 13091, __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":13092
 *     @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":13090
 *     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":13093
 *     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":13095
 *     @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, 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 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":13096
 *     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, 13097, __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":13098
 *     @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":13096
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13132
 *         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, 13132, __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, 13132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13132, __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, 13132, __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, 13132, __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, 13132, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13133
 *     """
 *     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":13134
 *     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":13133
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13136
 *             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":13132
 *         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":13137
 *         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, 13137, __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, 13137, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13137, __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, 13137, __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, 13137, __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, 13137, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13139
 *     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_t_3 = __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_3)) __PYX_ERR(0, 13139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13139, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13139, __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":13140
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 13140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13140, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 13140, __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":13137
 *         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_5);
  __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":13141
 *         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":13143
 *     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":13144
 *         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, 13144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13143
 *     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":13145
 *     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":13146
 *         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":13147
 *     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, 13147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13148
 *         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":13149
 *             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, 13149, __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, 13149, __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, 13149, __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, 13149, __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, 13149, __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, 13149, __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":13148
 *         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":13150
 *             try:
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13150, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13151
 *                 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, 13151, __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, 13151, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13151, __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":13148
 *         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":13152
 *             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":13153
 *                 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, 13153, __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, 13153, __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, 13153, __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, 13153, __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, 13153, __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, 13153, __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":13152
 *             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":13154
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13154, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13155
 *                 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, 13155, __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, 13155, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13155, __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":13152
 *             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":13156
 *             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":13157
 *                 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, 13157, __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, 13157, __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, 13157, __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, 13157, __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, 13157, __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, 13157, __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":13156
 *             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":13158
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13158, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13159
 *                 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, 13159, __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, 13159, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13159, __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":13156
 *             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":13160
 *             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":13161
 *                 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, 13161, __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, 13161, __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, 13161, __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, 13161, __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, 13161, __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, 13161, __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":13160
 *             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":13162
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13162, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13163
 *                 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, 13163, __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, 13163, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13163, __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":13160
 *             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":13164
 *             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":13165
 *                 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, 13165, __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, 13165, __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, 13165, __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, 13165, __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, 13165, __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, 13165, __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":13164
 *             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":13166
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13166, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13167
 *                 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, 13167, __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, 13167, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13167, __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":13164
 *             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":13168
 *             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":13169
 *                 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, 13169, __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, 13169, __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, 13169, __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, 13169, __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, 13169, __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, 13169, __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":13168
 *             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":13170
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13170, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13171
 *                 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, 13171, __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, 13171, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13171, __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":13168
 *             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":13172
 *             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":13173
 *                 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, 13173, __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, 13173, __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, 13173, __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, 13173, __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, 13173, __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, 13173, __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":13172
 *             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":13174
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13174, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13175
 *                 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, 13175, __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, 13175, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13175, __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":13172
 *             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":13176
 *             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":13177
 *                 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, 13177, __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, 13177, __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, 13177, __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, 13177, __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, 13177, __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, 13177, __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":13176
 *             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":13178
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13178, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13179
 *                 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, 13179, __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, 13179, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13179, __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":13176
 *             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":13180
 *             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":13181
 *                 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, 13181, __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, 13181, __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, 13181, __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, 13181, __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, 13181, __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, 13181, __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":13180
 *             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":13182
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13182, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13183
 *                 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, 13183, __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, 13183, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13183, __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":13180
 *             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":13184
 *             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":13185
 *                 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, 13185, __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, 13185, __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, 13185, __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, 13185, __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, 13185, __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, 13185, __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":13184
 *             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":13186
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13186, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13187
 *                 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, 13187, __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, 13187, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13187, __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":13184
 *             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":13188
 *             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, 13188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13146
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13190
 *             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":13145
 *     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":13191
 *         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":13193
 *     @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":13191
 *         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":13194
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13197
 *     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":13198
 *         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":13197
 *     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":13199
 *         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":13200
 *             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, 13200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13201
 *         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, 13201, __pyx_L1_error)
    __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":13199
 *         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":13203
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13203, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13203, __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;

    /* "cuda/bindings/driver.pyx":13204
 *         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, 13204, __pyx_L1_error)
    __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13205
 *             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":13194
 *     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_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":13206
 *             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":13208
 *     @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, 13208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13206
 *             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":13209
 *     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, 13210, __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":13211
 *     @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":13209
 *     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":13212
 *     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":13214
 *     @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, 13214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13212
 *     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":13215
 *     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, 13216, __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":13217
 *     @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":13215
 *     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":13218
 *     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":13220
 *     @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, 13220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13218
 *     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":13221
 *     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, 13222, __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":13223
 *     @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":13221
 *     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":13224
 *     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":13226
 *     @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, 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
 *     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":13227
 *     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, 13228, __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":13229
 *     @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":13227
 *     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":13230
 *     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":13232
 *     @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, 13232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13230
 *     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":13233
 *     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, 13234, __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":13235
 *     @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":13233
 *     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":13236
 *     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":13238
 *     @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, 13238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13236
 *     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":13239
 *     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, 13240, __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":13241
 *     @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":13239
 *     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":13242
 *     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":13244
 *     @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, 13244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13242
 *     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":13245
 *     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, 13246, __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":13247
 *     @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":13245
 *     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":13248
 *     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":13250
 *     @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":13248
 *     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":13251
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":13254
 *     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":13255
 *         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":13254
 *     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":13256
 *         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":13257
 *             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, 13257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13258
 *         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, 13258, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":13256
 *         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":13260
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13260, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13260, __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;

    /* "cuda/bindings/driver.pyx":13261
 *         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, 13261, __pyx_L1_error)
    __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":13262
 *             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":13251
 *     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_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":13263
 *             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":13265
 *     @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, 13265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13263
 *             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":13266
 *     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;
  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":13268
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13268, __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":13269
 *     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, 13269, __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, 13269, __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_4));

  /* "cuda/bindings/driver.pyx":13266
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13285
 *         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, 13285, __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, 13285, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13285, __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, 13285, __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, 13285, __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, 13285, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13285, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13286
 *     """
 *     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":13285
 *         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":13288
 *         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, 13288, __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, 13288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13288, __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, 13288, __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, 13288, __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, 13288, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13288, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13290
 *     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":13292
 *     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":13293
 *         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, 13293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13292
 *     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":13294
 *     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;
  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":13295
 *         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":13296
 *     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, 13296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13297
 *         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":13298
 *             str_list = []
 *             try:
 *                 str_list += ['handle : ' + hex(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, 13298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13298, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13298, __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, 13298, __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, 13298, __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, 13298, __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":13297
 *         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;

      /* "cuda/bindings/driver.pyx":13299
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13299, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13300
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13300, __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, 13300, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13300, __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":13297
 *         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":13301
 *             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":13302
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13302, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_name_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13302, __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, 13302, __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, 13302, __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, 13302, __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":13301
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13303
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13303, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13304
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13304, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_name_ValueError) != (0)) __PYX_ERR(0, 13304, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13304, __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":13301
 *             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":13305
 *             except ValueError:
 *                 str_list += ['name : <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, 13305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13295
 *         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":13307
 *             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":13294
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":13308
 *         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":13310
 *     @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, 13310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13308
 *         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":13311
 *     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;
  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":13313
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13313, __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":13314
 *     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, 13314, __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, 13314, __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_4));

  /* "cuda/bindings/driver.pyx":13311
 *     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_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":13315
 *         _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":13317
 *     @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, 13317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13315
 *         _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":13318
 *     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;
  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":13320
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13320, __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":13321
 *     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, 13321, __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, 13321, __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_4));

  /* "cuda/bindings/driver.pyx":13318
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13339
 *         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, 13339, __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, 13339, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13339, __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, 13339, __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, 13339, __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, 13339, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13339, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13340
 *     """
 *     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":13339
 *         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":13342
 *         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, 13342, __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, 13342, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13342, __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, 13342, __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, 13342, __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, 13342, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13342, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13344
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13344, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13344, __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":13342
 *         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_5);
  __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":13345
 *         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":13347
 *     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":13348
 *         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, 13348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13347
 *     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":13349
 *     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_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;
  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":13350
 *         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":13351
 *     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, 13351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13352
 *         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":13353
 *             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, 13353, __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, 13353, __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, 13353, __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, 13353, __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, 13353, __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, 13353, __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":13352
 *         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":13354
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13354, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13355
 *                 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, 13355, __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, 13355, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13355, __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":13352
 *         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":13356
 *             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":13357
 *                 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, 13357, __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, 13357, __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, 13357, __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, 13357, __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, 13357, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13357, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr163__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr163__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13357, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13357, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr163__pyx_v_line); __pyx_10genexpr163__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr163__pyx_v_line); __pyx_10genexpr163__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, 13357, __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, 13357, __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, 13357, __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, 13357, __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, 13357, __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":13356
 *             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":13358
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 13358, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13359
 *                 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, 13359, __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, 13359, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13359, __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":13356
 *             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":13360
 *             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":13361
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciBufObject_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13361, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13361, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_nvSciBufObject, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13361, __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, 13361, __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, 13361, __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, 13361, __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":13360
 *             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":13362
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13362, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13363
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13363, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_nvSciBufObject_ValueError) != (0)) __PYX_ERR(0, 13363, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13363, __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":13360
 *             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":13364
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <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, 13364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13350
 *         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":13366
 *             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":13349
 *     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_10genexpr163__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13367
 *         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":13369
 *     @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, 13369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13367
 *         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":13370
 *     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, 13371, __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":13372
 *     @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":13370
 *     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":13373
 *     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":13375
 *     @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":13373
 *     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":13376
 *     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, 13377, __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":13378
 *     @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((PyObject*)__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, 13378, __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, 13378, __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":13376
 *     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":13379
 *     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":13381
 *     @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, 13381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13379
 *     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":13382
 *     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;
  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":13384
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciBufObject};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13384, __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":13385
 *     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, 13385, __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, 13385, __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_4));

  /* "cuda/bindings/driver.pyx":13382
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13409
 *         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, 13409, __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, 13409, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13409, __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, 13409, __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, 13409, __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, 13409, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13410
 *     """
 *     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":13411
 *     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":13412
 *         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":13410
 *     """
 *     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":13414
 *             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":13409
 *         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":13415
 *         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, 13415, __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, 13415, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13415, __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, 13415, __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, 13415, __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, 13415, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13417
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13417, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union5, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13417, __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":13415
 *         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_5);
  __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":13418
 *         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":13419
 *         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":13420
 *     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":13419
 *         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":13418
 *         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":13421
 *         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":13422
 *             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, 13422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13421
 *         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":13423
 *     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_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;
  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":13424
 *         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":13425
 *     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, 13425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13426
 *         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":13427
 *             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, 13427, __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, 13427, __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, 13427, __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, 13427, __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, 13427, __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, 13427, __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":13426
 *         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":13428
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13428, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13429
 *                 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, 13429, __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, 13429, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13429, __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":13426
 *         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":13430
 *             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":13431
 *                 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, 13431, __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, 13431, __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, 13431, __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, 13431, __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, 13431, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13431, __pyx_L20_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, 13431, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13431, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr164__pyx_v_line); __pyx_10genexpr164__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr164__pyx_v_line); __pyx_10genexpr164__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, 13431, __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, 13431, __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, 13431, __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, 13431, __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, 13431, __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":13430
 *             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":13432
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 13432, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13433
 *                 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, 13433, __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, 13433, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13433, __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":13430
 *             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":13434
 *             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":13435
 *                 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, 13435, __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, 13435, __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, 13435, __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, 13435, __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, 13435, __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, 13435, __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":13434
 *             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":13436
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13436, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13437
 *                 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, 13437, __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, 13437, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13437, __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":13434
 *             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":13438
 *             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":13439
 *                 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, 13439, __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, 13439, __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, 13439, __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, 13439, __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, 13439, __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, 13439, __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":13438
 *             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":13440
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13440, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13441
 *                 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, 13441, __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, 13441, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13441, __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":13438
 *             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":13442
 *             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":13443
 *                 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, 13443, __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, 13443, __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, 13443, __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, 13443, __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, 13443, __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, 13443, __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":13442
 *             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":13444
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13444, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13445
 *                 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, 13445, __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, 13445, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13445, __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":13442
 *             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":13446
 *             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, 13446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13424
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13448
 *             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":13423
 *     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_10genexpr164__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13449
 *         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":13451
 *     @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, 13451, __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, 13451, __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, 13451, __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":13452
 *     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":13451
 *     @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":13453
 *         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, 13453, __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, 13453, __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, 13453, __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":13449
 *         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":13454
 *             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, 13455, __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":13456
 *     @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, 13456, __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, 13456, __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":13454
 *             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":13457
 *     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":13459
 *     @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":13457
 *     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":13460
 *     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, 13461, __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":13462
 *     @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((PyObject*)__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, 13462, __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, 13462, __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":13460
 *     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":13463
 *     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":13465
 *     @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, 13465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13463
 *     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":13466
 *     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, 13467, __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":13468
 *     @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":13466
 *     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":13469
 *     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":13471
 *     @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, 13471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13469
 *     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":13472
 *     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, 13473, __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":13474
 *     @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":13472
 *     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":13475
 *     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":13477
 *     @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, 13477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13475
 *     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":13478
 *     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":13480
 *     @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, 13480, __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":13478
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13502
 *         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, 13502, __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, 13502, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13502, __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, 13502, __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, 13502, __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, 13502, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13503
 *     """
 *     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":13504
 *     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":13503
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13506
 *             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":13502
 *         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":13507
 *         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, 13507, __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, 13507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13507, __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, 13507, __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, 13507, __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, 13507, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13509
 *     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":13511
 *     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":13512
 *         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, 13512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13511
 *     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":13513
 *     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":13514
 *         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":13515
 *     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, 13515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13516
 *         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":13517
 *             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, 13517, __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, 13517, __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, 13517, __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, 13517, __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, 13517, __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, 13517, __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":13516
 *         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":13518
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13518, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13519
 *                 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, 13519, __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, 13519, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13519, __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":13516
 *         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":13520
 *             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":13521
 *                 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, 13521, __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, 13521, __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, 13521, __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, 13521, __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, 13521, __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, 13521, __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":13520
 *             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":13522
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13522, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13523
 *                 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, 13523, __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, 13523, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13523, __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":13520
 *             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":13524
 *             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":13525
 *                 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, 13525, __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, 13525, __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, 13525, __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, 13525, __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, 13525, __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, 13525, __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":13524
 *             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":13526
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13526, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13527
 *                 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, 13527, __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, 13527, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13527, __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":13524
 *             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":13528
 *             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":13529
 *                 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, 13529, __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, 13529, __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, 13529, __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, 13529, __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, 13529, __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, 13529, __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":13528
 *             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":13530
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13530, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13531
 *                 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, 13531, __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, 13531, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13531, __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":13528
 *             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":13532
 *             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, 13532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13514
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13534
 *             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":13513
 *     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":13535
 *         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":13537
 *     @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, 13537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13535
 *         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":13538
 *     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, 13539, __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":13540
 *     @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":13538
 *     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":13541
 *     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":13543
 *     @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, 13543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13541
 *     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":13544
 *     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, 13545, __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":13546
 *     @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":13544
 *     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":13547
 *     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":13549
 *     @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, 13549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13547
 *     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":13550
 *     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, 13551, __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":13552
 *     @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":13550
 *     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":13553
 *     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":13555
 *     @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, 13555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13553
 *     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":13556
 *     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":13558
 *     @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, 13558, __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":13556
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13581
 *         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, 13581, __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, 13581, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13581, __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, 13581, __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, 13581, __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, 13581, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13582
 *     """
 *     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":13583
 *     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":13582
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":13585
 *             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":13581
 *         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":13586
 *         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, 13586, __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, 13586, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13586, __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, 13586, __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, 13586, __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, 13586, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13588
 *     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_t_3 = __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_3)) __PYX_ERR(0, 13588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13588, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13588, __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":13586
 *         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_5);
  __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":13589
 *         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":13591
 *     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":13592
 *         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, 13592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13591
 *     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":13593
 *     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_10genexpr165__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":13594
 *         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":13595
 *     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, 13595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13596
 *         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":13597
 *             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, 13597, __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, 13597, __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, 13597, __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, 13597, __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, 13597, __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, 13597, __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":13596
 *         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":13598
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13598, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13599
 *                 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, 13599, __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, 13599, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13599, __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":13596
 *         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":13600
 *             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":13601
 *                 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, 13601, __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, 13601, __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, 13601, __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, 13601, __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, 13601, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13601, __pyx_L20_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, 13601, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13601, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr165__pyx_v_line); __pyx_10genexpr165__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr165__pyx_v_line); __pyx_10genexpr165__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, 13601, __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, 13601, __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, 13601, __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, 13601, __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, 13601, __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":13600
 *             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":13602
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 13602, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13603
 *                 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, 13603, __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, 13603, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13603, __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":13600
 *             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":13604
 *             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":13605
 *                 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, 13605, __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, 13605, __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, 13605, __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, 13605, __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, 13605, __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, 13605, __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":13604
 *             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":13606
 *             try:
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13606, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13607
 *                 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, 13607, __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, 13607, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13607, __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":13604
 *             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":13608
 *             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":13609
 *                 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, 13609, __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, 13609, __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, 13609, __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, 13609, __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, 13609, __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, 13609, __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":13608
 *             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":13610
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13610, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13611
 *                 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, 13611, __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, 13611, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13611, __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":13608
 *             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":13612
 *             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, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13594
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13614
 *             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":13593
 *     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_10genexpr165__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13615
 *         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":13617
 *     @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, 13617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13615
 *         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":13618
 *     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, 13619, __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":13620
 *     @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":13618
 *     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":13621
 *     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":13623
 *     @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":13621
 *     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":13624
 *     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, 13625, __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":13626
 *     @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((PyObject*)__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, 13626, __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, 13626, __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":13624
 *     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":13627
 *     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":13629
 *     @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, 13629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13627
 *     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":13630
 *     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, 13631, __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":13632
 *     @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":13630
 *     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":13633
 *     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":13635
 *     @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, 13635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13633
 *     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":13636
 *     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":13638
 *     @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, 13638, __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":13636
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13654
 *         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, 13654, __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, 13654, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13654, __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, 13654, __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, 13654, __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, 13654, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13654, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13655
 *     """
 *     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":13654
 *         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":13657
 *         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, 13657, __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, 13657, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13657, __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, 13657, __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, 13657, __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, 13657, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13657, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13659
 *     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":13661
 *     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":13662
 *         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, 13662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13661
 *     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":13663
 *     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;
  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":13664
 *         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":13665
 *     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, 13665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13666
 *         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":13667
 *             str_list = []
 *             try:
 *                 str_list += ['handle : ' + hex(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, 13667, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13667, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13667, __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, 13667, __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, 13667, __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, 13667, __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":13666
 *         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;

      /* "cuda/bindings/driver.pyx":13668
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13668, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13669
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:
 *                 str_list += ['handle : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13669, __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, 13669, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13669, __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":13666
 *         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":13670
 *             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":13671
 *                 str_list += ['handle : <ValueError>']
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13671, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13671, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_name_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13671, __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, 13671, __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, 13671, __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, 13671, __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":13670
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13672
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13672, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13673
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13673, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_name_ValueError) != (0)) __PYX_ERR(0, 13673, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13673, __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":13670
 *             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":13674
 *             except ValueError:
 *                 str_list += ['name : <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, 13674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13664
 *         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":13676
 *             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":13663
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":13677
 *         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":13679
 *     @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, 13679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13677
 *         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":13680
 *     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;
  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":13682
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13682, __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":13683
 *     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, 13683, __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, 13683, __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_4));

  /* "cuda/bindings/driver.pyx":13680
 *     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_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":13684
 *         _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":13686
 *     @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, 13686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13684
 *         _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":13687
 *     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;
  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":13689
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13689, __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":13690
 *     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, 13690, __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, 13690, __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_4));

  /* "cuda/bindings/driver.pyx":13687
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13708
 *         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, 13708, __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, 13708, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13708, __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, 13708, __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, 13708, __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, 13708, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13708, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13709
 *     """
 *     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":13708
 *         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":13711
 *         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, 13711, __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, 13711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13711, __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, 13711, __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, 13711, __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, 13711, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13711, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13713
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13713, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13713, __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":13711
 *         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_5);
  __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":13714
 *         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":13716
 *     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":13717
 *         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, 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].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":13718
 *     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_10genexpr166__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":13719
 *         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":13720
 *     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, 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 += ['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":13722
 *             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, 13722, __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, 13722, __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, 13722, __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, 13722, __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, 13722, __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, 13722, __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":13721
 *         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":13723
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13723, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13724
 *                 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, 13724, __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, 13724, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13724, __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":13721
 *         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":13725
 *             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":13726
 *                 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, 13726, __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, 13726, __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, 13726, __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, 13726, __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, 13726, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13726, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr166__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr166__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13726, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13726, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 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_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr166__pyx_v_line); __pyx_10genexpr166__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, 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_win32, __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 += ['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":13727
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 13727, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13728
 *                 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, 13728, __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, 13728, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13728, __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":13725
 *             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":13729
 *             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":13730
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nvSciSyncObj_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13730, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyNumber_Hex(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13730, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_nvSciSyncObj, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13730, __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, 13730, __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, 13730, __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, 13730, __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":13729
 *             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":13731
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 13731, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13732
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13732, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_nvSciSyncObj_ValueError) != (0)) __PYX_ERR(0, 13732, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13732, __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":13729
 *             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":13733
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <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, 13733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13719
 *         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":13735
 *             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":13718
 *     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_10genexpr166__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13736
 *         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":13738
 *     @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, 13738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13736
 *         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":13739
 *     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, 13740, __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":13741
 *     @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":13739
 *     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":13742
 *     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":13744
 *     @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":13742
 *     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":13745
 *     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, 13746, __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":13747
 *     @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((PyObject*)__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, 13747, __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, 13747, __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":13745
 *     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":13748
 *     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":13750
 *     @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, 13750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13748
 *     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":13751
 *     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;
  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":13753
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciSyncObj};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13753, __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":13754
 *     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, 13754, __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, 13754, __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_4));

  /* "cuda/bindings/driver.pyx":13751
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13776
 *         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, 13776, __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, 13776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13776, __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, 13776, __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, 13776, __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, 13776, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13777
 *     """
 *     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":13778
 *     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":13779
 *         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":13777
 *     """
 *     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":13781
 *             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":13776
 *         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":13782
 *         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, 13782, __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, 13782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13782, __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, 13782, __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, 13782, __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, 13782, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13784
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13784, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union6, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13784, __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":13782
 *         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_5);
  __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":13785
 *         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":13786
 *         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":13787
 *     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":13786
 *         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":13785
 *         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":13788
 *         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":13789
 *             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, 13789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13788
 *         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":13790
 *     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_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;
  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":13791
 *         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":13792
 *     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, 13792, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13793
 *         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":13794
 *             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, 13794, __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, 13794, __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, 13794, __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, 13794, __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, 13794, __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, 13794, __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":13793
 *         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":13795
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13795, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13796
 *                 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, 13796, __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, 13796, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13796, __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":13793
 *         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":13797
 *             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":13798
 *                 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, 13798, __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, 13798, __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, 13798, __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, 13798, __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, 13798, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13798, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr167__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr167__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13798, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 13798, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr167__pyx_v_line); __pyx_10genexpr167__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr167__pyx_v_line); __pyx_10genexpr167__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, 13798, __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, 13798, __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, 13798, __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, 13798, __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, 13798, __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":13797
 *             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":13799
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 13799, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13800
 *                 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, 13800, __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, 13800, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13800, __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":13797
 *             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":13801
 *             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":13802
 *                 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, 13802, __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, 13802, __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, 13802, __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, 13802, __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, 13802, __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, 13802, __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":13801
 *             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":13803
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13803, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13804
 *                 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, 13804, __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, 13804, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13804, __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":13801
 *             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":13805
 *             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":13806
 *                 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, 13806, __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, 13806, __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, 13806, __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, 13806, __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, 13806, __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, 13806, __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":13805
 *             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":13807
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13807, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":13808
 *                 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, 13808, __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, 13808, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13808, __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":13805
 *             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":13809
 *             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, 13809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13791
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":13811
 *             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":13790
 *     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_10genexpr167__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":13812
 *         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":13814
 *     @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, 13814, __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, 13814, __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, 13814, __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":13815
 *     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":13814
 *     @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":13816
 *         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, 13816, __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, 13816, __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, 13816, __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":13812
 *         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":13817
 *             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, 13818, __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":13819
 *     @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, 13819, __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, 13819, __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":13817
 *             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":13820
 *     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":13822
 *     @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":13820
 *     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":13823
 *     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, 13824, __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":13825
 *     @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((PyObject*)__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, 13825, __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, 13825, __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":13823
 *     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":13826
 *     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":13828
 *     @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, 13828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13826
 *     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":13829
 *     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, 13830, __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":13831
 *     @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":13829
 *     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":13832
 *     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":13834
 *     @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, 13834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13832
 *     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":13835
 *     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":13837
 *     @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, 13837, __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":13835
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13851
 *         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, 13851, __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, 13851, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13851, __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, 13851, __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, 13851, __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, 13851, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13851, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13852
 *     """
 *     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":13851
 *         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":13854
 *         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, 13854, __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, 13854, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13854, __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, 13854, __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, 13854, __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, 13854, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13854, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13856
 *     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":13858
 *     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":13859
 *         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, 13859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13858
 *     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":13860
 *     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":13861
 *         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":13862
 *     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, 13862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13863
 *         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":13864
 *             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, 13864, __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, 13864, __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, 13864, __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, 13864, __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, 13864, __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, 13864, __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":13863
 *         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":13865
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13865, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13866
 *                 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, 13866, __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, 13866, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13866, __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":13863
 *         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":13867
 *             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, 13867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13861
 *         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":13869
 *             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":13860
 *     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":13870
 *         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":13872
 *     @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, 13872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13870
 *         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":13873
 *     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, 13874, __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":13875
 *     @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":13873
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13891
 *         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, 13891, __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, 13891, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13891, __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, 13891, __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, 13891, __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, 13891, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13891, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13892
 *     """
 *     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":13891
 *         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":13894
 *         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, 13894, __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, 13894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13894, __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, 13894, __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, 13894, __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, 13894, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13894, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13896
 *     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":13898
 *     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":13899
 *         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, 13899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13898
 *     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":13900
 *     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;
  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":13901
 *         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":13902
 *     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, 13902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13903
 *         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":13904
 *             str_list = []
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13904, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13904, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_fence, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13904, __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, 13904, __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, 13904, __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, 13904, __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":13903
 *         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;

      /* "cuda/bindings/driver.pyx":13905
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 13905, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13906
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13906, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 13906, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13906, __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":13903
 *         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":13907
 *             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":13908
 *                 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, 13908, __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, 13908, __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, 13908, __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, 13908, __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, 13908, __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, 13908, __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":13907
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":13909
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 13909, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":13910
 *                 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, 13910, __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, 13910, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13910, __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":13907
 *             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":13911
 *             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, 13911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13901
 *         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":13913
 *             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":13900
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":13914
 *         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":13916
 *     @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, 13916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13914
 *         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":13917
 *     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;
  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":13919
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_fence};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13919, __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":13920
 *     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, 13920, __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, 13920, __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_4));

  /* "cuda/bindings/driver.pyx":13917
 *     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_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":13921
 *         _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":13923
 *     @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, 13923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13921
 *         _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":13924
 *     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, 13925, __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":13926
 *     @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":13924
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13940
 *         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, 13940, __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, 13940, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13940, __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, 13940, __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, 13940, __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, 13940, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13940, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13941
 *     """
 *     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":13940
 *         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":13943
 *         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, 13943, __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, 13943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13943, __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, 13943, __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, 13943, __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, 13943, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13945
 *     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":13947
 *     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":13948
 *         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, 13948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13947
 *     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":13949
 *     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":13950
 *         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":13951
 *     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, 13951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13952
 *         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":13953
 *             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, 13953, __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, 13953, __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, 13953, __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, 13953, __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, 13953, __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, 13953, __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":13952
 *         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":13954
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 13954, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":13955
 *                 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, 13955, __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, 13955, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 13955, __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":13952
 *         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":13956
 *             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, 13956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13950
 *         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":13958
 *             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":13949
 *     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":13959
 *         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":13961
 *     @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, 13961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13959
 *         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":13962
 *     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, 13963, __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":13964
 *     @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":13962
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":13984
 *         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, 13984, __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, 13984, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13984, __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, 13984, __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, 13984, __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, 13984, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13984, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":13985
 *     """
 *     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":13984
 *         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":13987
 *         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, 13987, __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, 13987, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 13987, __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, 13987, __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, 13987, __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, 13987, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13987, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":13989
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13989, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13989, __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":13990
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13990, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union7, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 13990, __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":13991
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 13991, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 13991, __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":13987
 *         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_5);
  __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":13992
 *         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":13994
 *     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":13995
 *         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, 13995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":13994
 *     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":13996
 *     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_10genexpr168__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr169__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr170__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":13997
 *         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":13998
 *     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, 13998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":13999
 *         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":14000
 *             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, 14000, __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, 14000, __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, 14000, __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, 14000, __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, 14000, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14000, __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, 14000, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14000, __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, 14000, __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, 14000, __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, 14000, __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, 14000, __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, 14000, __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":13999
 *         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":14001
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14001, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14002
 *                 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, 14002, __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, 14002, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14002, __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":13999
 *         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":14003
 *             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":14004
 *                 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, 14004, __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, 14004, __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, 14004, __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, 14004, __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, 14004, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14004, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr169__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr169__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14004, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14004, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr169__pyx_v_line); __pyx_10genexpr169__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr169__pyx_v_line); __pyx_10genexpr169__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, 14004, __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, 14004, __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, 14004, __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, 14004, __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, 14004, __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":14003
 *             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":14005
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14005, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":14006
 *                 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, 14006, __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, 14006, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14006, __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":14003
 *             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":14007
 *             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":14008
 *                 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, 14008, __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, 14008, __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, 14008, __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, 14008, __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, 14008, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14008, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr170__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr170__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14008, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 14008, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_line); __pyx_10genexpr170__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_line); __pyx_10genexpr170__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, 14008, __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, 14008, __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, 14008, __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, 14008, __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, 14008, __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":14007
 *             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":14009
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14009, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14010
 *                 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, 14010, __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, 14010, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14010, __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":14007
 *             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":14011
 *             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":14012
 *                 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, 14012, __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, 14012, __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, 14012, __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, 14012, __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, 14012, __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, 14012, __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":14011
 *             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":14013
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14013, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":14014
 *                 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, 14014, __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, 14014, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14014, __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":14011
 *             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":14015
 *             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, 14015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":13997
 *         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":14017
 *             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":13996
 *     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_10genexpr168__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr169__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr170__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14018
 *         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":14020
 *     @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":14018
 *         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":14021
 *     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, 14022, __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":14023
 *     @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((PyObject*)__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, 14023, __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, 14023, __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":14021
 *     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":14024
 *     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":14026
 *     @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":14024
 *     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":14027
 *     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, 14028, __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":14029
 *     @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((PyObject*)__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, 14029, __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, 14029, __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":14027
 *     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":14030
 *     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":14032
 *     @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":14030
 *     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":14033
 *     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, 14034, __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":14035
 *     @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((PyObject*)__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, 14035, __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, 14035, __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":14033
 *     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":14036
 *     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":14038
 *     @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, 14038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14036
 *     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":14039
 *     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":14041
 *     @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, 14041, __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":14039
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14068
 *         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, 14068, __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, 14068, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14068, __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, 14068, __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, 14068, __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, 14068, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14069
 *     """
 *     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":14070
 *     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":14069
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14072
 *             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":14068
 *         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":14073
 *         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, 14073, __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, 14073, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14073, __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, 14073, __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, 14073, __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, 14073, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14075
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14075, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 14075, __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":14073
 *         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_5);
  __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":14076
 *         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":14078
 *     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":14079
 *         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, 14079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14078
 *     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":14080
 *     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_10genexpr171__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":14081
 *         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":14082
 *     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, 14082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14083
 *         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":14084
 *             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, 14084, __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, 14084, __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, 14084, __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, 14084, __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, 14084, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14084, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr171__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr171__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14084, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14084, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr171__pyx_v_line); __pyx_10genexpr171__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr171__pyx_v_line); __pyx_10genexpr171__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, 14084, __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, 14084, __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, 14084, __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, 14084, __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, 14084, __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":14083
 *         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":14085
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14085, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14086
 *                 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, 14086, __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, 14086, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14086, __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":14083
 *         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":14087
 *             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":14088
 *                 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, 14088, __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, 14088, __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, 14088, __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, 14088, __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, 14088, __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, 14088, __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":14087
 *             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":14089
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14089, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14090
 *                 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, 14090, __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, 14090, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14090, __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":14087
 *             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":14091
 *             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":14092
 *                 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, 14092, __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, 14092, __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, 14092, __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, 14092, __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, 14092, __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, 14092, __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":14091
 *             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":14093
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14093, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14094
 *                 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, 14094, __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, 14094, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14094, __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":14091
 *             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":14095
 *             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, 14095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14081
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14097
 *             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":14080
 *     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_10genexpr171__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14098
 *         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":14100
 *     @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":14098
 *         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":14101
 *     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, 14102, __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":14103
 *     @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((PyObject*)__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, 14103, __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, 14103, __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":14101
 *     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":14104
 *     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":14106
 *     @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, 14106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14104
 *     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":14107
 *     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, 14108, __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":14109
 *     @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":14107
 *     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":14110
 *     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":14112
 *     @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, 14112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14110
 *     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":14113
 *     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":14115
 *     @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, 14115, __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":14113
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14129
 *         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, 14129, __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, 14129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14129, __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, 14129, __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, 14129, __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, 14129, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14129, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14130
 *     """
 *     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":14129
 *         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":14132
 *         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, 14132, __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, 14132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14132, __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, 14132, __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, 14132, __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, 14132, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14132, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14134
 *     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":14136
 *     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":14137
 *         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, 14137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14136
 *     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":14138
 *     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":14139
 *         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":14140
 *     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, 14140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14141
 *         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":14142
 *             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, 14142, __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, 14142, __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, 14142, __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, 14142, __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, 14142, __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, 14142, __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":14141
 *         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":14143
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14143, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14144
 *                 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, 14144, __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, 14144, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14144, __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":14141
 *         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":14145
 *             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, 14145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14139
 *         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":14147
 *             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":14138
 *     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":14148
 *         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":14150
 *     @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, 14150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14148
 *         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":14151
 *     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, 14152, __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":14153
 *     @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":14151
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14169
 *         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, 14169, __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, 14169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14169, __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, 14169, __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, 14169, __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, 14169, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14169, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14170
 *     """
 *     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":14169
 *         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":14172
 *         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, 14172, __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, 14172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14172, __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, 14172, __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, 14172, __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, 14172, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14172, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14174
 *     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":14176
 *     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":14177
 *         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, 14177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14176
 *     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":14178
 *     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;
  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":14179
 *         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":14180
 *     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, 14180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14181
 *         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":14182
 *             str_list = []
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14182, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14182, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_fence, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14182, __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, 14182, __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, 14182, __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, 14182, __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":14181
 *         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;

      /* "cuda/bindings/driver.pyx":14183
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 14183, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14184
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:
 *                 str_list += ['fence : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14184, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_fence_ValueError) != (0)) __PYX_ERR(0, 14184, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14184, __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":14181
 *         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":14185
 *             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":14186
 *                 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, 14186, __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, 14186, __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, 14186, __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, 14186, __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, 14186, __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, 14186, __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":14185
 *             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_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":14187
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 14187, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14188
 *                 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, 14188, __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, 14188, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14188, __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":14185
 *             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":14189
 *             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, 14189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14179
 *         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":14191
 *             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":14178
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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":14192
 *         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":14194
 *     @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, 14194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14192
 *         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":14195
 *     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;
  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":14197
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_fence};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14197, __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":14198
 *     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, 14198, __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, 14198, __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_4));

  /* "cuda/bindings/driver.pyx":14195
 *     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_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":14199
 *         _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":14201
 *     @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, 14201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14199
 *         _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":14202
 *     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, 14203, __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":14204
 *     @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":14202
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14220
 *         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, 14220, __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, 14220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14220, __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, 14220, __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, 14220, __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, 14220, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14220, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14221
 *     """
 *     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":14220
 *         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":14223
 *         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, 14223, __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, 14223, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14223, __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, 14223, __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, 14223, __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, 14223, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14223, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14225
 *     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":14227
 *     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":14228
 *         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, 14228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14227
 *     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":14229
 *     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":14230
 *         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":14231
 *     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, 14231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14232
 *         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":14233
 *             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, 14233, __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, 14233, __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, 14233, __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, 14233, __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, 14233, __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, 14233, __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":14232
 *         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":14234
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14234, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14235
 *                 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, 14235, __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, 14235, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14235, __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":14232
 *         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":14236
 *             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":14237
 *                 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, 14237, __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, 14237, __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, 14237, __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, 14237, __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, 14237, __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, 14237, __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":14236
 *             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":14238
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14238, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14239
 *                 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, 14239, __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, 14239, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14239, __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":14236
 *             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":14240
 *             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, 14240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14230
 *         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":14242
 *             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":14229
 *     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":14243
 *         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":14245
 *     @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, 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
 *         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":14246
 *     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, 14247, __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":14248
 *     @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":14246
 *     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":14249
 *     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":14251
 *     @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, 14251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14249
 *     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":14252
 *     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, 14253, __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":14254
 *     @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":14252
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14274
 *         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, 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, "__cinit__", 0) < (0)) __PYX_ERR(0, 14274, __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, 14274, __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, 14274, __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, 14274, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 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.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":14275
 *     """
 *     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":14274
 *         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":14277
 *         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, 14277, __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, 14277, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14277, __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, 14277, __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, 14277, __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, 14277, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14277, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14279
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14279, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 14279, __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":14280
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14280, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union8, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 14280, __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":14281
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14281, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 14281, __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":14277
 *         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_5);
  __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":14282
 *         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":14284
 *     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":14285
 *         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, 14285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14284
 *     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":14286
 *     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_10genexpr172__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr173__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr174__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":14287
 *         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":14288
 *     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, 14288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14289
 *         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":14290
 *             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, 14290, __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, 14290, __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, 14290, __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, 14290, __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, 14290, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14290, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr172__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr172__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14290, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14290, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr172__pyx_v_line); __pyx_10genexpr172__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr172__pyx_v_line); __pyx_10genexpr172__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, 14290, __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, 14290, __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, 14290, __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, 14290, __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, 14290, __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":14289
 *         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":14291
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14291, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14292
 *                 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, 14292, __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, 14292, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14292, __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":14289
 *         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":14293
 *             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":14294
 *                 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, 14294, __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, 14294, __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, 14294, __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, 14294, __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, 14294, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14294, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr173__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr173__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14294, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14294, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr173__pyx_v_line); __pyx_10genexpr173__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr173__pyx_v_line); __pyx_10genexpr173__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, 14294, __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, 14294, __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, 14294, __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, 14294, __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, 14294, __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":14293
 *             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":14295
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14295, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":14296
 *                 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, 14296, __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, 14296, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14296, __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":14293
 *             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":14297
 *             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":14298
 *                 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, 14298, __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, 14298, __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, 14298, __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, 14298, __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, 14298, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14298, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr174__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr174__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14298, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 14298, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_line); __pyx_10genexpr174__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_line); __pyx_10genexpr174__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, 14298, __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, 14298, __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, 14298, __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, 14298, __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, 14298, __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":14297
 *             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":14299
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14299, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14300
 *                 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, 14300, __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, 14300, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14300, __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":14297
 *             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":14301
 *             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":14302
 *                 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, 14302, __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, 14302, __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, 14302, __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, 14302, __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, 14302, __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, 14302, __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":14301
 *             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":14303
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14303, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":14304
 *                 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, 14304, __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, 14304, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14304, __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":14301
 *             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":14305
 *             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, 14305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14287
 *         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":14307
 *             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":14286
 *     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_10genexpr172__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr173__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr174__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14308
 *         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":14310
 *     @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":14308
 *         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":14311
 *     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, 14312, __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":14313
 *     @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((PyObject*)__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, 14313, __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, 14313, __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":14311
 *     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":14314
 *     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":14316
 *     @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":14314
 *     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":14317
 *     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, 14318, __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":14319
 *     @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((PyObject*)__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, 14319, __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, 14319, __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":14317
 *     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":14320
 *     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":14322
 *     @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":14320
 *     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":14323
 *     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, 14324, __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":14325
 *     @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((PyObject*)__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, 14325, __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, 14325, __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":14323
 *     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":14326
 *     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":14328
 *     @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, 14328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14326
 *     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":14329
 *     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":14331
 *     @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, 14331, __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":14329
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14358
 *         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, 14358, __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, 14358, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14358, __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, 14358, __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, 14358, __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, 14358, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14359
 *     """
 *     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":14360
 *     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":14359
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14362
 *             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":14358
 *         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":14363
 *         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, 14363, __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, 14363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14363, __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, 14363, __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, 14363, __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, 14363, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14365
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14365, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 14365, __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":14363
 *         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_5);
  __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":14366
 *         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":14368
 *     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":14369
 *         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, 14369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14368
 *     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":14370
 *     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_10genexpr175__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":14371
 *         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":14372
 *     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, 14372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14373
 *         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":14374
 *             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, 14374, __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, 14374, __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, 14374, __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, 14374, __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, 14374, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14374, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr175__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr175__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14374, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 14374, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr175__pyx_v_line); __pyx_10genexpr175__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr175__pyx_v_line); __pyx_10genexpr175__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, 14374, __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, 14374, __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, 14374, __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, 14374, __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, 14374, __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":14373
 *         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":14375
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 14375, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14376
 *                 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, 14376, __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, 14376, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14376, __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":14373
 *         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":14377
 *             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":14378
 *                 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, 14378, __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, 14378, __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, 14378, __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, 14378, __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, 14378, __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, 14378, __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":14377
 *             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":14379
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14379, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14380
 *                 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, 14380, __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, 14380, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14380, __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":14377
 *             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":14381
 *             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":14382
 *                 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, 14382, __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, 14382, __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, 14382, __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, 14382, __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, 14382, __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, 14382, __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":14381
 *             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":14383
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14383, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":14384
 *                 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, 14384, __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, 14384, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 14384, __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":14381
 *             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":14385
 *             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, 14385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14371
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14387
 *             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":14370
 *     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_10genexpr175__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14388
 *         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":14390
 *     @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":14388
 *         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":14391
 *     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, 14392, __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":14393
 *     @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((PyObject*)__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, 14393, __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, 14393, __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":14391
 *     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":14394
 *     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":14396
 *     @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, 14396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14394
 *     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":14397
 *     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, 14398, __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":14399
 *     @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":14397
 *     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":14400
 *     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":14402
 *     @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, 14402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14400
 *     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":14403
 *     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":14405
 *     @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, 14405, __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":14403
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14426
 *         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, 14426, __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, 14426, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14426, __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, 14426, __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, 14426, __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, 14426, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14427
 *     """
 *     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":14428
 *     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":14427
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14430
 *             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":14426
 *         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":14431
 *         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, 14431, __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, 14431, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14431, __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, 14431, __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, 14431, __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, 14431, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14433
 *     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":14435
 *     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":14436
 *         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":14435
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14437
 *         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":14438
 *             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":14437
 *         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":14433
 *     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":14439
 *         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":14440
 *             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, 14440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14439
 *         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":14441
 *     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":14442
 *         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":14443
 *     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, 14443, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14444
 *         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":14445
 *             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, 14445, __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, 14445, __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, 14445, __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, 14445, __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, 14445, __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, 14445, __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":14444
 *         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":14446
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14446, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14447
 *                 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, 14447, __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, 14447, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14447, __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":14444
 *         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":14448
 *             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":14449
 *                 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, 14449, __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, 14449, __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, 14449, __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, 14449, __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, 14449, __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, 14449, __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":14448
 *             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":14450
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14450, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14451
 *                 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, 14451, __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, 14451, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14451, __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":14448
 *             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":14452
 *             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":14453
 *                 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, 14453, __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, 14453, __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, 14453, __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, 14453, __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, 14453, __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, 14453, __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":14452
 *             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":14454
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14454, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14455
 *                 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, 14455, __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, 14455, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14455, __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":14452
 *             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":14456
 *             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, 14456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14442
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14458
 *             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":14441
 *     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":14459
 *         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_10genexpr176__pyx_v_x;
  PyObject *__pyx_10genexpr177__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14461
 *     @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, 14461, __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_10genexpr176__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_10genexpr176__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14461, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14461, __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":14462
 *     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, 14462, __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, 14462, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14462, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr177__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14462, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr177__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14462, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14462, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14462, __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_10genexpr177__pyx_v_arr); __pyx_10genexpr177__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr177__pyx_v_arr); __pyx_10genexpr177__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":14459
 *         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_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_10genexpr177__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14463
 *         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;
  size_t __pyx_t_8;
  CUexternalSemaphore *__pyx_t_9;
  Py_ssize_t __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":14465
 *     @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, 14465, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14466
 *     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":14467
 *         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":14468
 *             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":14465
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14470
 *             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, 14470, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14471
 *         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":14472
 *             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, 14472, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14473
 *                 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":14474
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14474, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14474, __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, 14474, __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, 14474, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14474, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14474, __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, 14474, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14474, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14474, __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, 14474, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14473
 *                 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":14475
 *                 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, 14475, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14476
 *                     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_9 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14470
 *             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":14477
 *                 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, 14477, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14478
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14478, __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":14463
 *         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_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":14480
 *                 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_10genexpr178__pyx_v_x;
  PyObject *__pyx_10genexpr179__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14482
 *     @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, 14482, __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_10genexpr178__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_10genexpr178__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14482, __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":14483
 *     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, 14483, __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, 14483, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14483, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr179__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14483, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr179__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14483, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14483, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14483, __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_10genexpr179__pyx_v_arr); __pyx_10genexpr179__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr179__pyx_v_arr); __pyx_10genexpr179__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":14480
 *                 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_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_10genexpr179__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14484
 *         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;
  size_t __pyx_t_8;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_9;
  Py_ssize_t __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":14486
 *     @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, 14486, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14487
 *     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":14488
 *         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":14489
 *             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":14486
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14491
 *             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, 14491, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14492
 *         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":14493
 *             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, 14493, __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":14494
 *                 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":14495
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14495, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14495, __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, 14495, __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, 14495, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14495, __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(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14495, __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, 14495, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14495, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14495, __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, 14495, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14494
 *                 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":14496
 *                 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, 14496, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14497
 *                     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_9 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14491
 *             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":14498
 *                 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, 14498, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14499
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14499, __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":14484
 *         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_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":14501
 *                 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":14503
 *     @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, 14503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14501
 *                 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":14504
 *     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, 14505, __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":14506
 *     @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":14504
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14527
 *         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, 14527, __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, 14527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14527, __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, 14527, __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, 14527, __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, 14527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14528
 *     """
 *     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":14529
 *     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":14528
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14531
 *             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":14527
 *         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":14532
 *         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, 14532, __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, 14532, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14532, __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, 14532, __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, 14532, __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, 14532, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14534
 *     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":14536
 *     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":14537
 *         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":14536
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14538
 *         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":14539
 *             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":14538
 *         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":14534
 *     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":14540
 *         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":14541
 *             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, 14541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14540
 *         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":14542
 *     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":14543
 *         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":14544
 *     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, 14544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14545
 *         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":14546
 *             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, 14546, __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, 14546, __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, 14546, __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, 14546, __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, 14546, __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, 14546, __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":14545
 *         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":14547
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14547, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14548
 *                 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, 14548, __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, 14548, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14548, __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":14545
 *         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":14549
 *             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":14550
 *                 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, 14550, __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, 14550, __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, 14550, __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, 14550, __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, 14550, __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, 14550, __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":14549
 *             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":14551
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14551, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14552
 *                 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, 14552, __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, 14552, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14552, __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":14549
 *             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":14553
 *             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":14554
 *                 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, 14554, __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, 14554, __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, 14554, __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, 14554, __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, 14554, __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, 14554, __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":14553
 *             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":14555
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14555, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14556
 *                 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, 14556, __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, 14556, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14556, __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":14553
 *             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":14557
 *             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, 14557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14543
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14559
 *             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":14542
 *     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":14560
 *         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_10genexpr180__pyx_v_x;
  PyObject *__pyx_10genexpr181__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14562
 *     @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, 14562, __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_10genexpr180__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_10genexpr180__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14562, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14562, __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":14563
 *     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, 14563, __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, 14563, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14563, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr181__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14563, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr181__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14563, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14563, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14563, __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_10genexpr181__pyx_v_arr); __pyx_10genexpr181__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr181__pyx_v_arr); __pyx_10genexpr181__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":14560
 *         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_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_10genexpr181__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14564
 *         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;
  size_t __pyx_t_8;
  CUexternalSemaphore *__pyx_t_9;
  Py_ssize_t __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":14566
 *     @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, 14566, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14567
 *     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":14568
 *         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":14569
 *             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":14566
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14571
 *             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, 14571, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14572
 *         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":14573
 *             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, 14573, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14574
 *                 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":14575
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14575, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14575, __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, 14575, __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, 14575, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14575, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14575, __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, 14575, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14575, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14575, __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, 14575, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14574
 *                 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":14576
 *                 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, 14576, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14577
 *                     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_9 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14571
 *             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":14578
 *                 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, 14578, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14579
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14579, __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":14564
 *         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_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":14581
 *                 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_10genexpr182__pyx_v_x;
  PyObject *__pyx_10genexpr183__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14583
 *     @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, 14583, __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_10genexpr182__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_10genexpr182__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14583, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14583, __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":14584
 *     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, 14584, __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, 14584, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14584, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr183__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14584, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr183__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14584, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14584, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14584, __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_10genexpr183__pyx_v_arr); __pyx_10genexpr183__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr183__pyx_v_arr); __pyx_10genexpr183__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":14581
 *                 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_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_10genexpr183__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14585
 *         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;
  size_t __pyx_t_8;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_9;
  Py_ssize_t __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":14587
 *     @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, 14587, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14588
 *     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":14589
 *         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":14590
 *             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":14587
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14592
 *             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, 14592, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14593
 *         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":14594
 *             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, 14594, __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":14595
 *                 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":14596
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14596, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14596, __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, 14596, __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, 14596, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14596, __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(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14596, __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, 14596, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14596, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14596, __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, 14596, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14595
 *                 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":14597
 *                 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, 14597, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14598
 *                     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_9 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14592
 *             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":14599
 *                 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, 14599, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14600
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14600, __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":14585
 *         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_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":14602
 *                 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":14604
 *     @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, 14604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14602
 *                 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":14605
 *     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, 14606, __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":14607
 *     @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":14605
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14628
 *         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, 14628, __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, 14628, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14628, __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, 14628, __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, 14628, __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, 14628, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14629
 *     """
 *     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":14630
 *     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":14629
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14632
 *             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":14628
 *         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":14633
 *         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, 14633, __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, 14633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14633, __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, 14633, __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, 14633, __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, 14633, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14635
 *     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":14637
 *     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":14638
 *         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":14637
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14639
 *         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":14640
 *             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":14639
 *         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":14635
 *     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":14641
 *         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":14642
 *             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, 14642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14641
 *         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":14643
 *     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":14644
 *         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":14645
 *     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, 14645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14646
 *         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":14647
 *             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, 14647, __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, 14647, __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, 14647, __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, 14647, __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, 14647, __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, 14647, __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":14646
 *         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":14648
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14648, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14649
 *                 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, 14649, __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, 14649, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14649, __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":14646
 *         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":14650
 *             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":14651
 *                 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, 14651, __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, 14651, __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, 14651, __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, 14651, __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, 14651, __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, 14651, __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":14650
 *             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":14652
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14652, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14653
 *                 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, 14653, __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, 14653, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14653, __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":14650
 *             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":14654
 *             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":14655
 *                 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, 14655, __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, 14655, __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, 14655, __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, 14655, __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, 14655, __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, 14655, __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":14654
 *             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":14656
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14656, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14657
 *                 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, 14657, __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, 14657, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14657, __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":14654
 *             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":14658
 *             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, 14658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14644
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14660
 *             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":14643
 *     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":14661
 *         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_10genexpr184__pyx_v_x;
  PyObject *__pyx_10genexpr185__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14663
 *     @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, 14663, __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_10genexpr184__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_10genexpr184__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14663, __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":14664
 *     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, 14664, __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, 14664, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14664, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr185__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14664, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr185__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14664, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14664, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14664, __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_10genexpr185__pyx_v_arr); __pyx_10genexpr185__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr185__pyx_v_arr); __pyx_10genexpr185__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":14661
 *         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_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_10genexpr185__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14665
 *         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;
  size_t __pyx_t_8;
  CUexternalSemaphore *__pyx_t_9;
  Py_ssize_t __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":14667
 *     @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, 14667, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14668
 *     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":14669
 *         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":14670
 *             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":14667
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14672
 *             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, 14672, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14673
 *         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":14674
 *             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, 14674, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14675
 *                 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":14676
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14676, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14676, __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, 14676, __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, 14676, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14676, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14676, __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, 14676, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14676, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14676, __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, 14676, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14675
 *                 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":14677
 *                 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, 14677, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14678
 *                     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_9 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14672
 *             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":14679
 *                 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, 14679, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14680
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14680, __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":14665
 *         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_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":14682
 *                 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_10genexpr186__pyx_v_x;
  PyObject *__pyx_10genexpr187__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14684
 *     @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, 14684, __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_10genexpr186__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_10genexpr186__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14684, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14684, __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":14685
 *     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, 14685, __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, 14685, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14685, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr187__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14685, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr187__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14685, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14685, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14685, __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_10genexpr187__pyx_v_arr); __pyx_10genexpr187__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr187__pyx_v_arr); __pyx_10genexpr187__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":14682
 *                 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_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_10genexpr187__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14686
 *         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;
  size_t __pyx_t_8;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_9;
  Py_ssize_t __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":14688
 *     @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, 14688, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14689
 *     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":14690
 *         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":14691
 *             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":14688
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14693
 *             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, 14693, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14694
 *         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":14695
 *             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, 14695, __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":14696
 *                 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":14697
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14697, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14697, __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, 14697, __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, 14697, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14697, __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(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14697, __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, 14697, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14697, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14697, __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, 14697, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14696
 *                 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":14698
 *                 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, 14698, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14699
 *                     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_9 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14693
 *             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":14700
 *                 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, 14700, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14701
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14701, __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":14686
 *         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_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":14703
 *                 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":14705
 *     @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, 14705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14703
 *                 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":14706
 *     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, 14707, __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":14708
 *     @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":14706
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14729
 *         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, 14729, __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, 14729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14729, __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, 14729, __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, 14729, __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, 14729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14730
 *     """
 *     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":14731
 *     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":14730
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14733
 *             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":14729
 *         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":14734
 *         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, 14734, __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, 14734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14734, __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, 14734, __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, 14734, __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, 14734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14736
 *     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":14738
 *     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":14739
 *         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":14738
 *     def __dealloc__(self):
 *         pass
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":14740
 *         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":14741
 *             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":14740
 *         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":14736
 *     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":14742
 *         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":14743
 *             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, 14743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14742
 *         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":14744
 *     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":14745
 *         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":14746
 *     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, 14746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14747
 *         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":14748
 *             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, 14748, __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, 14748, __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, 14748, __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, 14748, __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, 14748, __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, 14748, __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":14747
 *         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":14749
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14749, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14750
 *                 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, 14750, __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, 14750, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14750, __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":14747
 *         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":14751
 *             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":14752
 *                 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, 14752, __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, 14752, __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, 14752, __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, 14752, __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, 14752, __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, 14752, __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":14751
 *             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":14753
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14753, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14754
 *                 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, 14754, __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, 14754, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14754, __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":14751
 *             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":14755
 *             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":14756
 *                 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, 14756, __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, 14756, __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, 14756, __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, 14756, __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, 14756, __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, 14756, __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":14755
 *             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":14757
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14757, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14758
 *                 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, 14758, __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, 14758, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14758, __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":14755
 *             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":14759
 *             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, 14759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14745
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":14761
 *             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":14744
 *     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":14762
 *         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_10genexpr188__pyx_v_x;
  PyObject *__pyx_10genexpr189__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14764
 *     @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, 14764, __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_10genexpr188__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_10genexpr188__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14764, __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":14765
 *     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, 14765, __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, 14765, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14765, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr189__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14765, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr189__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14765, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14765, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14765, __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_10genexpr189__pyx_v_arr); __pyx_10genexpr189__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr189__pyx_v_arr); __pyx_10genexpr189__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":14762
 *         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_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_10genexpr189__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14766
 *         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;
  size_t __pyx_t_8;
  CUexternalSemaphore *__pyx_t_9;
  Py_ssize_t __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":14768
 *     @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, 14768, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14769
 *     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":14770
 *         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":14771
 *             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":14768
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14773
 *             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, 14773, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14774
 *         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":14775
 *             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, 14775, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/bindings/driver.pyx":14776
 *                 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":14777
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14777, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14777, __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, 14777, __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, 14777, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14777, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14777, __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, 14777, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14777, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14777, __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, 14777, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14776
 *                 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":14778
 *                 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, 14778, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14779
 *                     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_9 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_pvt_ptr[0]).extSemArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14773
 *             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":14780
 *                 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, 14780, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14781
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14781, __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":14766
 *         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_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":14783
 *                 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_10genexpr190__pyx_v_x;
  PyObject *__pyx_10genexpr191__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":14785
 *     @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, 14785, __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_10genexpr190__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_10genexpr190__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14785, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 14785, __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":14786
 *     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, 14786, __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, 14786, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14786, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr191__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14786, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr191__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14786, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 14786, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 14786, __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_10genexpr191__pyx_v_arr); __pyx_10genexpr191__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr191__pyx_v_arr); __pyx_10genexpr191__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":14783
 *                 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_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_10genexpr191__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":14787
 *         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;
  size_t __pyx_t_8;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_9;
  Py_ssize_t __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":14789
 *     @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, 14789, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":14790
 *     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":14791
 *         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":14792
 *             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":14789
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":14794
 *             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, 14794, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":14795
 *         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":14796
 *             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, 14796, __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":14797
 *                 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":14798
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14798, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14798, __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, 14798, __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, 14798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14798, __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(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14798, __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, 14798, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14798, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14798, __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, 14798, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":14797
 *                 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":14799
 *                 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, 14799, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":14800
 *                     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_9 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_pvt_ptr[0]).paramsArray = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":14794
 *             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":14801
 *                 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, 14801, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":14802
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14802, __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":14787
 *         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_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":14804
 *                 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":14806
 *     @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, 14806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14804
 *                 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":14807
 *     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, 14808, __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":14809
 *     @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":14807
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14825
 *         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, 14825, __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, 14825, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14825, __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, 14825, __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, 14825, __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, 14825, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14825, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14826
 *     """
 *     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":14825
 *         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":14828
 *         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, 14828, __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, 14828, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14828, __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, 14828, __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, 14828, __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, 14828, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":14830
 *     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_t_3 = __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_3)) __PYX_ERR(0, 14830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14830, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 14830, __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":14831
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 14831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 14831, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 14831, __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":14828
 *         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_5);
  __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":14832
 *         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":14834
 *     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":14835
 *         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, 14835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14834
 *     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":14836
 *     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":14837
 *         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":14838
 *     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, 14838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14839
 *         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":14840
 *             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, 14840, __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, 14840, __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, 14840, __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, 14840, __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, 14840, __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, 14840, __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":14839
 *         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":14841
 *             try:
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14841, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14842
 *                 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, 14842, __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, 14842, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14842, __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":14839
 *         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":14843
 *             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":14844
 *                 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, 14844, __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, 14844, __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, 14844, __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, 14844, __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, 14844, __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, 14844, __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":14843
 *             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":14845
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14845, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14846
 *                 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, 14846, __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, 14846, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14846, __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":14843
 *             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":14847
 *             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, 14847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14837
 *         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":14849
 *             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":14836
 *     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":14850
 *         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":14852
 *     @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":14850
 *         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":14853
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14856
 *     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":14857
 *         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":14856
 *     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":14858
 *         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":14859
 *             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, 14859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14860
 *         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, 14860, __pyx_L1_error)
    __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":14858
 *         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":14862
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_mipmap};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14862, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14862, __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;

    /* "cuda/bindings/driver.pyx":14863
 *         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, 14863, __pyx_L1_error)
    __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14864
 *             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":14853
 *     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_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":14865
 *             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":14867
 *     @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":14865
 *             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":14868
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":14871
 *     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":14872
 *         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":14871
 *     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":14873
 *         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":14874
 *             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, 14874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14875
 *         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, 14875, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":14873
 *         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":14877
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14877, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14877, __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;

    /* "cuda/bindings/driver.pyx":14878
 *         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, 14878, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":14879
 *             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":14868
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":14907
 *         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, 14907, __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, 14907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14907, __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, 14907, __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, 14907, __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, 14907, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14907, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14908
 *     """
 *     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":14907
 *         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":14910
 *         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, 14910, __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, 14910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 14910, __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, 14910, __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, 14910, __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, 14910, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 14910, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":14912
 *     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":14914
 *     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":14915
 *         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, 14915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14914
 *     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":14916
 *     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":14917
 *         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":14918
 *     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, 14918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":14919
 *         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":14920
 *             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, 14920, __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, 14920, __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, 14920, __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, 14920, __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, 14920, __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, 14920, __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":14919
 *         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":14921
 *             try:
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14921, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14922
 *                 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, 14922, __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, 14922, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14922, __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":14919
 *         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":14923
 *             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":14924
 *                 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, 14924, __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, 14924, __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, 14924, __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, 14924, __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, 14924, __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, 14924, __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":14923
 *             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":14925
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14925, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14926
 *                 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, 14926, __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, 14926, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14926, __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":14923
 *             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":14927
 *             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":14928
 *                 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, 14928, __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, 14928, __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, 14928, __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, 14928, __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, 14928, __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, 14928, __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":14927
 *             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":14929
 *             try:
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14929, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14930
 *                 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, 14930, __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, 14930, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14930, __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":14927
 *             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":14931
 *             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":14932
 *                 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, 14932, __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, 14932, __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, 14932, __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, 14932, __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, 14932, __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, 14932, __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":14931
 *             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":14933
 *             try:
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14933, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14934
 *                 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, 14934, __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, 14934, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14934, __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":14931
 *             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":14935
 *             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":14936
 *                 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, 14936, __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, 14936, __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, 14936, __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, 14936, __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, 14936, __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, 14936, __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":14935
 *             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":14937
 *             try:
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14937, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14938
 *                 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, 14938, __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, 14938, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14938, __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":14935
 *             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":14939
 *             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":14940
 *                 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, 14940, __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, 14940, __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, 14940, __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, 14940, __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, 14940, __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, 14940, __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":14939
 *             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":14941
 *             try:
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14941, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14942
 *                 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, 14942, __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, 14942, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14942, __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":14939
 *             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":14943
 *             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":14944
 *                 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, 14944, __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, 14944, __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, 14944, __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, 14944, __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, 14944, __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, 14944, __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":14943
 *             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":14945
 *             try:
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14945, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":14946
 *                 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, 14946, __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, 14946, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 14946, __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":14943
 *             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":14947
 *             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":14948
 *                 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, 14948, __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, 14948, __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, 14948, __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, 14948, __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, 14948, __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, 14948, __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":14947
 *             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":14949
 *             try:
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 14949, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":14950
 *                 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, 14950, __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, 14950, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14950, __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":14947
 *             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":14951
 *             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, 14951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":14917
 *         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":14953
 *             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":14916
 *     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":14954
 *         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":14956
 *     @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, 14956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14954
 *         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":14957
 *     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, 14958, __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":14959
 *     @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":14957
 *     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":14960
 *     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":14962
 *     @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, 14962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14960
 *     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":14963
 *     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, 14964, __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":14965
 *     @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":14963
 *     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":14966
 *     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":14968
 *     @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, 14968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14966
 *     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":14969
 *     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, 14970, __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":14971
 *     @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":14969
 *     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":14972
 *     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":14974
 *     @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, 14974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14972
 *     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":14975
 *     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, 14976, __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":14977
 *     @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":14975
 *     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":14978
 *     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":14980
 *     @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, 14980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14978
 *     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":14981
 *     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, 14982, __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":14983
 *     @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":14981
 *     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":14984
 *     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":14986
 *     @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, 14986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14984
 *     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":14987
 *     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, 14988, __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":14989
 *     @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":14987
 *     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":14990
 *     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":14992
 *     @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, 14992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14990
 *     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":14993
 *     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, 14994, __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":14995
 *     @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":14993
 *     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":14996
 *     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":14998
 *     @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, 14998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":14996
 *     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":14999
 *     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, 15000, __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":15001
 *     @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":14999
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15019
 *         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, 15019, __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, 15019, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15019, __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, 15019, __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, 15019, __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, 15019, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15019, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15020
 *     """
 *     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":15019
 *         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":15022
 *         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, 15022, __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, 15022, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15022, __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, 15022, __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, 15022, __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, 15022, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15022, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15024
 *     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":15026
 *     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":15027
 *         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, 15027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15026
 *     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":15028
 *     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":15029
 *         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":15030
 *     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, 15030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15031
 *         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":15032
 *             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, 15032, __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, 15032, __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, 15032, __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, 15032, __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, 15032, __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, 15032, __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":15031
 *         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":15033
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15033, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15034
 *                 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, 15034, __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, 15034, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15034, __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":15031
 *         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":15035
 *             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":15036
 *                 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, 15036, __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, 15036, __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, 15036, __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, 15036, __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, 15036, __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, 15036, __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":15035
 *             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":15037
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15037, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15038
 *                 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, 15038, __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, 15038, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15038, __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":15035
 *             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":15039
 *             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":15040
 *                 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, 15040, __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, 15040, __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, 15040, __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, 15040, __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, 15040, __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, 15040, __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":15039
 *             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":15041
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15041, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15042
 *                 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, 15042, __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, 15042, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15042, __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":15039
 *             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":15043
 *             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, 15043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15029
 *         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":15045
 *             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":15028
 *     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":15046
 *         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":15048
 *     @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, 15048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15046
 *         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":15049
 *     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, 15050, __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":15051
 *     @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":15049
 *     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":15052
 *     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":15054
 *     @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, 15054, __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 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":15055
 *     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, 15056, __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":15057
 *     @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":15055
 *     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":15058
 *     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":15060
 *     @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, 15060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15058
 *     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":15061
 *     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, 15062, __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":15063
 *     @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":15061
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15079
 *         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, 15079, __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, 15079, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15079, __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, 15079, __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, 15079, __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, 15079, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15079, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15080
 *     """
 *     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":15079
 *         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":15082
 *         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, 15082, __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, 15082, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15082, __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, 15082, __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, 15082, __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, 15082, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15082, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15084
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15084, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15084, __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":15085
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15085, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 15085, __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":15082
 *         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_5);
  __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":15086
 *         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":15088
 *     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":15089
 *         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, 15089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15088
 *     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":15090
 *     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_10genexpr192__pyx_v_line = 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;
  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":15091
 *         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":15092
 *     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, 15092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15093
 *         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":15094
 *             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, 15094, __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, 15094, __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, 15094, __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, 15094, __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, 15094, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15094, __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, 15094, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15094, __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, 15094, __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, 15094, __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, 15094, __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, 15094, __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, 15094, __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":15093
 *         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":15095
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15095, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15096
 *                 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, 15096, __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, 15096, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15096, __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":15093
 *         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":15097
 *             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":15098
 *                 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, 15098, __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, 15098, __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, 15098, __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, 15098, __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, 15098, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15098, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr193__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr193__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15098, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 15098, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line); __pyx_10genexpr193__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line); __pyx_10genexpr193__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, 15098, __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, 15098, __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, 15098, __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, 15098, __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, 15098, __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":15097
 *             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":15099
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15099, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":15100
 *                 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, 15100, __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, 15100, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15100, __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":15097
 *             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":15101
 *             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, 15101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15091
 *         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":15103
 *             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":15090
 *     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_10genexpr192__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr193__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15104
 *         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":15106
 *     @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":15104
 *         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":15107
 *     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, 15108, __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":15109
 *     @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((PyObject*)__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, 15109, __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, 15109, __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":15107
 *     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":15110
 *     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":15112
 *     @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":15110
 *     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":15113
 *     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, 15114, __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":15115
 *     @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((PyObject*)__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, 15115, __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, 15115, __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":15113
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15129
 *         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, 15129, __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, 15129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15129, __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, 15129, __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, 15129, __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, 15129, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15129, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15130
 *     """
 *     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":15129
 *         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":15132
 *         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, 15132, __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, 15132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15132, __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, 15132, __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, 15132, __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, 15132, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15132, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15134
 *     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_t_3 = __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_3)) __PYX_ERR(0, 15134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15134, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15134, __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":15132
 *         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_5);
  __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":15135
 *         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":15137
 *     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":15138
 *         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, 15138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15137
 *     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":15139
 *     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":15140
 *         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":15141
 *     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, 15141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15142
 *         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":15143
 *             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, 15143, __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, 15143, __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, 15143, __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, 15143, __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, 15143, __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, 15143, __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":15142
 *         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":15144
 *             try:
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15144, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15145
 *                 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, 15145, __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, 15145, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15145, __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":15142
 *         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":15146
 *             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, 15146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15140
 *         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":15148
 *             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":15139
 *     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":15149
 *         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":15151
 *     @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":15149
 *         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":15152
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15155
 *     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":15156
 *         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":15155
 *     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":15157
 *         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":15158
 *             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, 15158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15159
 *         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, 15159, __pyx_L1_error)
    __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15157
 *         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":15161
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_memHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15161, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15161, __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;

    /* "cuda/bindings/driver.pyx":15162
 *         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, 15162, __pyx_L1_error)
    __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15163
 *             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":15152
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15201
 *         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, 15201, __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, 15201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15201, __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, 15201, __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, 15201, __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, 15201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15202
 *     """
 *     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":15203
 *     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":15204
 *         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":15202
 *     """
 *     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":15206
 *             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":15201
 *         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":15207
 *         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, 15207, __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, 15207, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15207, __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, 15207, __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, 15207, __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, 15207, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15209
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15209, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union9, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15209, __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":15210
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15210, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union10, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 15210, __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":15211
 *         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_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15211, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union11, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15211, __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":15207
 *         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_5);
  __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":15212
 *         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":15213
 *         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":15214
 *     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":15213
 *         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":15212
 *         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":15215
 *         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":15216
 *             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, 15216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15215
 *         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":15217
 *     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_10genexpr194__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr195__pyx_v_line = 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":15218
 *         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":15219
 *     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, 15219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15220
 *         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":15221
 *             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, 15221, __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, 15221, __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, 15221, __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, 15221, __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, 15221, __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, 15221, __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":15220
 *         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":15222
 *             try:
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15222, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15223
 *                 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, 15223, __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, 15223, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15223, __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":15220
 *         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":15224
 *             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":15225
 *                 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, 15225, __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, 15225, __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, 15225, __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, 15225, __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, 15225, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15225, __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, 15225, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15225, __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, 15225, __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, 15225, __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, 15225, __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, 15225, __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, 15225, __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":15224
 *             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":15226
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15226, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15227
 *                 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, 15227, __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, 15227, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15227, __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":15224
 *             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":15228
 *             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":15229
 *                 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, 15229, __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, 15229, __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, 15229, __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, 15229, __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, 15229, __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, 15229, __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":15228
 *             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":15230
 *             try:
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15230, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15231
 *                 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, 15231, __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, 15231, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15231, __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":15228
 *             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":15232
 *             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":15233
 *                 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, 15233, __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, 15233, __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, 15233, __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, 15233, __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, 15233, __pyx_L43_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15233, __pyx_L43_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, 15233, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 15233, __pyx_L43_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line); __pyx_10genexpr195__pyx_v_line = 0;
          goto __pyx_L47_exit_scope;
          __pyx_L43_error:;
          __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line); __pyx_10genexpr195__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, 15233, __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, 15233, __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, 15233, __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, 15233, __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, 15233, __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":15232
 *             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":15234
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15234, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15235
 *                 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, 15235, __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, 15235, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15235, __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":15232
 *             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":15236
 *             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":15237
 *                 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, 15237, __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, 15237, __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, 15237, __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, 15237, __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, 15237, __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, 15237, __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":15236
 *             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":15238
 *             try:
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15238, __pyx_L52_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15239
 *                 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, 15239, __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, 15239, __pyx_L52_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15239, __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":15236
 *             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":15240
 *             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":15241
 *                 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, 15241, __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, 15241, __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, 15241, __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, 15241, __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, 15241, __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, 15241, __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":15240
 *             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":15242
 *             try:
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15242, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15243
 *                 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, 15243, __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, 15243, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15243, __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":15240
 *             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":15244
 *             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":15245
 *                 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, 15245, __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, 15245, __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, 15245, __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, 15245, __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, 15245, __pyx_L74_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15245, __pyx_L74_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, 15245, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15245, __pyx_L74_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line); __pyx_10genexpr196__pyx_v_line = 0;
          goto __pyx_L78_exit_scope;
          __pyx_L74_error:;
          __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line); __pyx_10genexpr196__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, 15245, __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, 15245, __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, 15245, __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, 15245, __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, 15245, __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":15244
 *             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":15246
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15246, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15247
 *                 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, 15247, __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, 15247, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15247, __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":15244
 *             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":15248
 *             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":15249
 *                 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, 15249, __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, 15249, __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, 15249, __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, 15249, __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, 15249, __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, 15249, __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":15248
 *             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":15250
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15250, __pyx_L83_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15251
 *                 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, 15251, __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, 15251, __pyx_L83_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15251, __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":15248
 *             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":15252
 *             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":15253
 *                 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, 15253, __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, 15253, __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, 15253, __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, 15253, __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, 15253, __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, 15253, __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":15252
 *             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":15254
 *             try:
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15254, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15255
 *                 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, 15255, __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, 15255, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15255, __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":15252
 *             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":15256
 *             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":15257
 *                 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, 15257, __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, 15257, __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, 15257, __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, 15257, __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, 15257, __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, 15257, __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":15256
 *             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":15258
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15258, __pyx_L99_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15259
 *                 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, 15259, __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, 15259, __pyx_L99_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15259, __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":15256
 *             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":15260
 *             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":15261
 *                 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, 15261, __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, 15261, __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, 15261, __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, 15261, __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, 15261, __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, 15261, __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":15260
 *             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":15262
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15262, __pyx_L107_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15263
 *                 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, 15263, __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, 15263, __pyx_L107_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15263, __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":15260
 *             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":15264
 *             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, 15264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15218
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15266
 *             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":15217
 *     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_10genexpr194__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr195__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr196__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15267
 *         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":15269
 *     @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, 15269, __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, 15269, __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, 15269, __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":15270
 *     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":15269
 *     @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":15271
 *         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, 15271, __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, 15271, __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, 15271, __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":15267
 *         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":15272
 *             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, 15273, __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":15274
 *     @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, 15274, __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, 15274, __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":15272
 *             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":15275
 *     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":15277
 *     @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":15275
 *     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":15278
 *     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, 15279, __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":15280
 *     @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((PyObject*)__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, 15280, __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, 15280, __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":15278
 *     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":15281
 *     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":15283
 *     @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, 15283, __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, 15283, __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, 15283, __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":15284
 *     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":15283
 *     @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":15285
 *         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, 15285, __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, 15285, __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, 15285, __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":15281
 *     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":15286
 *             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, 15287, __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":15288
 *     @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, 15288, __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, 15288, __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":15286
 *             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":15289
 *     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":15291
 *     @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":15289
 *     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":15292
 *     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, 15293, __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":15294
 *     @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((PyObject*)__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, 15294, __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, 15294, __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":15292
 *     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":15295
 *     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":15297
 *     @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, 15297, __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, 15297, __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, 15297, __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":15298
 *     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":15297
 *     @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":15299
 *         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, 15299, __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, 15299, __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, 15299, __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":15295
 *     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":15300
 *             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, 15301, __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":15302
 *     @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, 15302, __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, 15302, __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":15300
 *             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":15303
 *     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":15305
 *     @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, 15305, __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, 15305, __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, 15305, __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":15306
 *     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":15305
 *     @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":15307
 *         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, 15307, __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, 15307, __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, 15307, __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":15303
 *     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":15308
 *             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, 15309, __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":15310
 *     @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, 15310, __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, 15310, __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":15308
 *             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":15311
 *     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":15313
 *     @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":15311
 *     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":15314
 *     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, 15315, __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":15316
 *     @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((PyObject*)__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, 15316, __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, 15316, __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":15314
 *     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":15317
 *     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":15319
 *     @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, 15319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15317
 *     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":15320
 *     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, 15321, __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":15322
 *     @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":15320
 *     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":15323
 *     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":15325
 *     @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, 15325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15323
 *     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":15326
 *     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, 15327, __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":15328
 *     @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":15326
 *     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":15329
 *     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":15331
 *     @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, 15331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15329
 *     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":15332
 *     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, 15333, __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":15334
 *     @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":15332
 *     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":15335
 *     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":15337
 *     @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, 15337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15335
 *     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":15338
 *     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":15340
 *     @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, 15340, __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":15338
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15358
 *         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, 15358, __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, 15358, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15358, __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, 15358, __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, 15358, __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, 15358, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15359
 *     """
 *     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":15360
 *     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":15359
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15362
 *             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":15358
 *         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":15363
 *         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, 15363, __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, 15363, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15363, __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, 15363, __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, 15363, __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, 15363, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15365
 *     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":15367
 *     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":15368
 *         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, 15368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15367
 *     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":15369
 *     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":15370
 *         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":15371
 *     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, 15371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15372
 *         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":15373
 *             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, 15373, __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, 15373, __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, 15373, __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, 15373, __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, 15373, __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, 15373, __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":15372
 *         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":15374
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15374, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15375
 *                 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, 15375, __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, 15375, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15375, __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":15372
 *         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":15376
 *             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":15377
 *                 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, 15377, __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, 15377, __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, 15377, __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, 15377, __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, 15377, __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, 15377, __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":15376
 *             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":15378
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15378, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15379
 *                 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, 15379, __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, 15379, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15379, __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":15376
 *             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":15380
 *             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, 15380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15370
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15382
 *             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":15369
 *     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":15383
 *         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":15385
 *     @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, 15385, __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, 15385, __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, 15385, __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":15386
 *     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":15385
 *     @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":15387
 *         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, 15387, __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, 15387, __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, 15387, __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":15383
 *         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":15388
 *             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, 15389, __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":15390
 *     @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, 15390, __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, 15390, __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":15388
 *             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":15391
 *     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":15393
 *     @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, 15393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15391
 *     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":15394
 *     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, 15395, __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":15396
 *     @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":15394
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15416
 *         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, 15416, __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, 15416, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15416, __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, 15416, __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, 15416, __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, 15416, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15416, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15417
 *     """
 *     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":15416
 *         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":15419
 *         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, 15419, __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, 15419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15419, __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, 15419, __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, 15419, __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, 15419, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 15419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15421
 *     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":15423
 *     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":15424
 *         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, 15424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15423
 *     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":15425
 *     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":15426
 *         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":15427
 *     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, 15427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15428
 *         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":15429
 *             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, 15429, __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, 15429, __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, 15429, __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, 15429, __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, 15429, __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, 15429, __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":15428
 *         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":15430
 *             try:
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15430, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15431
 *                 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, 15431, __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, 15431, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15431, __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":15428
 *         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":15432
 *             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":15433
 *                 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, 15433, __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, 15433, __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, 15433, __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, 15433, __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, 15433, __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, 15433, __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":15432
 *             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":15434
 *             try:
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15434, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15435
 *                 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, 15435, __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, 15435, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15435, __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":15432
 *             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":15436
 *             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":15437
 *                 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, 15437, __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, 15437, __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, 15437, __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, 15437, __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, 15437, __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, 15437, __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":15436
 *             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":15438
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15438, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15439
 *                 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, 15439, __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, 15439, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15439, __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":15436
 *             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":15440
 *             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":15441
 *                 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, 15441, __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, 15441, __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, 15441, __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, 15441, __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, 15441, __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, 15441, __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":15440
 *             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":15442
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15442, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15443
 *                 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, 15443, __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, 15443, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15443, __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":15440
 *             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":15444
 *             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, 15444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15426
 *         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":15446
 *             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":15425
 *     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":15447
 *         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":15449
 *     @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, 15449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15447
 *         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":15450
 *     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, 15451, __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":15452
 *     @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":15450
 *     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":15453
 *     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":15455
 *     @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, 15455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15453
 *     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":15456
 *     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, 15457, __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":15458
 *     @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":15456
 *     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":15459
 *     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":15461
 *     @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, 15461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15459
 *     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":15462
 *     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, 15463, __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":15464
 *     @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":15462
 *     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":15465
 *     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":15467
 *     @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, 15467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15465
 *     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":15468
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15470
 *     @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, 15470, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15471
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15471, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15471, __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, 15471, __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_reserved_length_must_be_4_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 15471, __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, 15471, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15470
 *     @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":15472
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15472, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 15472, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 15472, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15472, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 15472, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":15473
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15473, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15473, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).allocFlags.reserved[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":15472
 *         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":15468
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15501
 *         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, 15501, __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, 15501, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15501, __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, 15501, __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, 15501, __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, 15501, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15502
 *     """
 *     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":15503
 *     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":15502
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15505
 *             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":15501
 *         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":15506
 *         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, 15506, __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, 15506, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15506, __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, 15506, __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, 15506, __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, 15506, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15508
 *     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_t_3 = __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_3)) __PYX_ERR(0, 15508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15508, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15508, __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":15509
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15509, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 15509, __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":15506
 *         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_5);
  __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":15510
 *         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":15512
 *     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":15513
 *         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, 15513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15512
 *     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":15514
 *     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_10genexpr197__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr198__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":15515
 *         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":15516
 *     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, 15516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15517
 *         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":15518
 *             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, 15518, __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, 15518, __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, 15518, __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, 15518, __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, 15518, __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, 15518, __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":15517
 *         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":15519
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15519, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15520
 *                 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, 15520, __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, 15520, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15520, __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":15517
 *         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":15521
 *             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":15522
 *                 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, 15522, __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, 15522, __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, 15522, __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, 15522, __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, 15522, __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, 15522, __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":15521
 *             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":15523
 *             try:
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15523, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15524
 *                 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, 15524, __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, 15524, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15524, __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":15521
 *             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":15525
 *             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":15526
 *                 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, 15526, __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, 15526, __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, 15526, __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, 15526, __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, 15526, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15526, __pyx_L28_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, 15526, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15526, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr197__pyx_v_line); __pyx_10genexpr197__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr197__pyx_v_line); __pyx_10genexpr197__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, 15526, __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, 15526, __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, 15526, __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, 15526, __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, 15526, __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":15525
 *             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":15527
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15527, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15528
 *                 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, 15528, __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, 15528, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15528, __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":15525
 *             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":15529
 *             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":15530
 *                 str_list += ['location : <ValueError>']
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32HandleMetaData : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32HandleMetaData_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15530, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyNumber_Hex(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15530, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_win32HandleMetaData, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15530, __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, 15530, __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, 15530, __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, 15530, __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":15529
 *             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":15531
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 15531, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15532
 *                 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_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15532, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_win32HandleMetaData_ValueError) != (0)) __PYX_ERR(0, 15532, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15532, __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":15529
 *             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":15533
 *             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":15534
 *                 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_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15534, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_allocFlags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15534, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15534, __pyx_L51_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, 15534, __pyx_L51_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, 15534, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15534, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr198__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr198__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15534, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 15534, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line); __pyx_10genexpr198__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line); __pyx_10genexpr198__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_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, 15534, __pyx_L43_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_allocFlags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15534, __pyx_L43_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, 15534, __pyx_L43_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, 15534, __pyx_L43_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, 15534, __pyx_L43_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":15533
 *             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":15535
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15535, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15536
 *                 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, 15536, __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, 15536, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15536, __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_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_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":15533
 *             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":15537
 *             except ValueError:
 *                 str_list += ['allocFlags : <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, 15537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15515
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15539
 *             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":15514
 *     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_10genexpr197__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr198__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15540
 *         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":15542
 *     @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, 15542, __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, 15542, __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, 15542, __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":15543
 *     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":15542
 *     @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":15544
 *         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, 15544, __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, 15544, __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, 15544, __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":15540
 *         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":15545
 *             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, 15546, __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":15547
 *     @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, 15547, __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, 15547, __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":15545
 *             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":15548
 *     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":15550
 *     @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, 15550, __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, 15550, __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, 15550, __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":15551
 *     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":15550
 *     @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":15552
 *         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, 15552, __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, 15552, __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, 15552, __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":15548
 *     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":15553
 *             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, 15554, __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":15555
 *     @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, 15555, __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, 15555, __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":15553
 *             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":15556
 *     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":15558
 *     @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":15556
 *     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":15559
 *     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, 15560, __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":15561
 *     @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((PyObject*)__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, 15561, __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, 15561, __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":15559
 *     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":15562
 *     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":15564
 *     @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, 15564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15562
 *     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":15565
 *     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;
  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":15567
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_win32HandleMetaData};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15567, __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":15568
 *     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, 15568, __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, 15568, __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_4));

  /* "cuda/bindings/driver.pyx":15565
 *     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_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":15569
 *         _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":15571
 *     @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":15569
 *         _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":15572
 *     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, 15573, __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":15574
 *     @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((PyObject*)__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, 15574, __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, 15574, __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":15572
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15599
 *         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, 15599, __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, 15599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15599, __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, 15599, __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, 15599, __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, 15599, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15600
 *     """
 *     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":15601
 *     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":15600
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15603
 *             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":15599
 *         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":15604
 *         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, 15604, __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, 15604, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15604, __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, 15604, __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, 15604, __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, 15604, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15606
 *     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":15608
 *     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":15609
 *         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, 15609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15608
 *     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":15610
 *     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":15611
 *         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":15612
 *     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, 15612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15613
 *         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":15614
 *             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, 15614, __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, 15614, __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, 15614, __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, 15614, __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, 15614, __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, 15614, __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":15613
 *         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":15615
 *             try:
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15615, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15616
 *                 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, 15616, __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, 15616, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15616, __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":15613
 *         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":15617
 *             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":15618
 *                 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, 15618, __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, 15618, __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, 15618, __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, 15618, __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, 15618, __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, 15618, __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":15617
 *             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":15619
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15619, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15620
 *                 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, 15620, __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, 15620, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15620, __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":15617
 *             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":15621
 *             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":15622
 *                 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, 15622, __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, 15622, __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, 15622, __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, 15622, __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, 15622, __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, 15622, __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":15621
 *             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":15623
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15623, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15624
 *                 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, 15624, __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, 15624, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15624, __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":15621
 *             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":15625
 *             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":15626
 *                 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, 15626, __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, 15626, __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, 15626, __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, 15626, __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, 15626, __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, 15626, __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":15625
 *             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":15627
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15627, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15628
 *                 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, 15628, __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, 15628, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15628, __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":15625
 *             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":15629
 *             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, 15629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15611
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15631
 *             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":15610
 *     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":15632
 *         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":15634
 *     @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, 15634, __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
 *         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":15635
 *     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, 15636, __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":15637
 *     @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":15635
 *     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":15638
 *     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":15640
 *     @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, 15640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15638
 *     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":15641
 *     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, 15642, __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":15643
 *     @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":15641
 *     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":15644
 *     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":15646
 *     @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, 15646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15644
 *     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":15647
 *     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, 15648, __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":15649
 *     @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":15647
 *     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":15650
 *     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":15652
 *     @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, 15652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15650
 *     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":15653
 *     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, 15654, __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":15655
 *     @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":15653
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15673
 *         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, 15673, __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, 15673, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15673, __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, 15673, __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, 15673, __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, 15673, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15674
 *     """
 *     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":15675
 *     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":15674
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15677
 *             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":15673
 *         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":15678
 *         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, 15678, __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, 15678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15678, __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, 15678, __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, 15678, __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, 15678, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15680
 *     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_t_3 = __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_3)) __PYX_ERR(0, 15680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15680, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15680, __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":15678
 *         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_5);
  __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":15681
 *         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":15683
 *     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":15684
 *         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, 15684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15683
 *     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":15685
 *     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_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":15686
 *         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":15687
 *     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, 15687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15688
 *         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":15689
 *             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, 15689, __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, 15689, __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, 15689, __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, 15689, __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, 15689, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15689, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr199__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr199__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15689, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15689, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_line); __pyx_10genexpr199__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_line); __pyx_10genexpr199__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, 15689, __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, 15689, __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, 15689, __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, 15689, __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, 15689, __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":15688
 *         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":15690
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15690, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15691
 *                 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, 15691, __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, 15691, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 15691, __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":15688
 *         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":15692
 *             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":15693
 *                 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, 15693, __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, 15693, __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, 15693, __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, 15693, __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, 15693, __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, 15693, __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":15692
 *             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":15694
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15694, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15695
 *                 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, 15695, __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, 15695, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15695, __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":15692
 *             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":15696
 *             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, 15696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15686
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15698
 *             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":15685
 *     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_10genexpr199__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15699
 *         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":15701
 *     @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":15699
 *         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":15702
 *     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, 15703, __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":15704
 *     @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((PyObject*)__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, 15704, __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, 15704, __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":15702
 *     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":15705
 *     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":15707
 *     @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, 15707, __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, 15707, __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, 15707, __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":15708
 *     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":15707
 *     @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":15709
 *         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, 15709, __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, 15709, __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, 15709, __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":15705
 *     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":15710
 *             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, 15711, __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":15712
 *     @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, 15712, __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, 15712, __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":15710
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15735
 *         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, 15735, __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, 15735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15735, __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, 15735, __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, 15735, __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, 15735, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15736
 *     """
 *     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":15737
 *     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":15736
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15739
 *             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":15735
 *         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":15740
 *         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, 15740, __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, 15740, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15740, __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, 15740, __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, 15740, __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, 15740, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15742
 *     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_t_3 = __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_3)) __PYX_ERR(0, 15742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15742, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15742, __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":15743
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 15743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15743, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 15743, __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":15740
 *         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_5);
  __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":15744
 *         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":15746
 *     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":15747
 *         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, 15747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15746
 *     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":15748
 *     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":15749
 *         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":15750
 *     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, 15750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15751
 *         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":15752
 *             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, 15752, __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, 15752, __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, 15752, __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, 15752, __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, 15752, __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, 15752, __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":15751
 *         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":15753
 *             try:
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15753, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15754
 *                 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, 15754, __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, 15754, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15754, __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":15751
 *         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":15755
 *             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":15756
 *                 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, 15756, __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, 15756, __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, 15756, __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, 15756, __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, 15756, __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, 15756, __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":15755
 *             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":15757
 *             try:
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15757, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15758
 *                 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, 15758, __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, 15758, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15758, __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":15755
 *             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":15759
 *             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":15760
 *                 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, 15760, __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, 15760, __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, 15760, __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, 15760, __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, 15760, __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, 15760, __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":15759
 *             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":15761
 *             try:
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15761, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15762
 *                 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, 15762, __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, 15762, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15762, __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":15759
 *             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":15763
 *             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, 15763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15749
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15765
 *             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":15748
 *     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":15766
 *         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":15768
 *     @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, 15768, __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, 15768, __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, 15768, __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":15769
 *     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":15768
 *     @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":15770
 *         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, 15770, __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, 15770, __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, 15770, __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":15766
 *         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":15771
 *             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, 15772, __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":15773
 *     @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, 15773, __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, 15773, __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":15771
 *             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":15774
 *     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":15776
 *     @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":15774
 *     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":15777
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15780
 *     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":15781
 *         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":15780
 *     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":15782
 *         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":15783
 *             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, 15783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15784
 *         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, 15784, __pyx_L1_error)
    __pyx_v_cyerrorNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15782
 *         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":15786
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_errorNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15786, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":15787
 *         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, 15787, __pyx_L1_error)
    __pyx_v_cyerrorNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15788
 *             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":15777
 *     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_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":15789
 *             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":15791
 *     @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":15789
 *             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":15792
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15795
 *     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":15796
 *         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":15795
 *     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":15797
 *         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":15798
 *             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, 15798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorFromNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15799
 *         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, 15799, __pyx_L1_error)
    __pyx_v_cyerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":15797
 *         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":15801
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_errorFromNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15801, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorFromNode = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":15802
 *         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, 15802, __pyx_L1_error)
    __pyx_v_cyerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":15803
 *             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":15792
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15837
 *         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, 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)
    } 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, 15837, __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, 15837, __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, 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.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":15838
 *     """
 *     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":15839
 *     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":15838
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15841
 *             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":15837
 *         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":15842
 *         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, 15842, __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, 15842, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15842, __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, 15842, __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, 15842, __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, 15842, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":15844
 *     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_t_3 = __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_3)) __PYX_ERR(0, 15844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 15844, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 15844, __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":15842
 *         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_5);
  __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":15845
 *         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":15847
 *     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":15848
 *         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, 15848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15847
 *     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":15849
 *     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_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":15850
 *         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":15851
 *     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, 15851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15852
 *         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":15853
 *             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, 15853, __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, 15853, __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, 15853, __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, 15853, __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, 15853, __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, 15853, __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":15852
 *         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":15854
 *             try:
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15854, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15855
 *                 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, 15855, __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, 15855, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15855, __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":15852
 *         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":15856
 *             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":15857
 *                 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, 15857, __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, 15857, __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, 15857, __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, 15857, __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, 15857, __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, 15857, __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":15856
 *             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":15858
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15858, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15859
 *                 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, 15859, __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, 15859, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15859, __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":15856
 *             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":15860
 *             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":15861
 *                 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, 15861, __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, 15861, __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, 15861, __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, 15861, __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, 15861, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15861, __pyx_L28_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, 15861, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 15861, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_line); __pyx_10genexpr200__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_line); __pyx_10genexpr200__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, 15861, __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, 15861, __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, 15861, __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, 15861, __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, 15861, __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":15860
 *             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":15862
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 15862, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15863
 *                 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, 15863, __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, 15863, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15863, __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":15860
 *             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":15864
 *             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":15865
 *                 str_list += ['location : <ValueError>']
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_win32SecurityAttributes_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15865, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyNumber_Hex(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15865, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15865, __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, 15865, __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, 15865, __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, 15865, __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":15864
 *             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":15866
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 15866, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15867
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:
 *                 str_list += ['win32SecurityAttributes : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15867, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes_ValueErr) != (0)) __PYX_ERR(0, 15867, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15867, __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":15864
 *             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":15868
 *             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":15869
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_maxSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15869, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15869, __pyx_L43_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_maxSize, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15869, __pyx_L43_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, 15869, __pyx_L43_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, 15869, __pyx_L43_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, 15869, __pyx_L43_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":15868
 *             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":15870
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15870, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15871
 *                 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, 15871, __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, 15871, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15871, __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_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_L44_exception_handled;
      }
      goto __pyx_L45_except_error;

      /* "cuda/bindings/driver.pyx":15868
 *             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":15872
 *             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":15873
 *                 str_list += ['maxSize : <ValueError>']
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']
*/
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_usage_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15873, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15873, __pyx_L51_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_usage, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15873, __pyx_L51_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, 15873, __pyx_L51_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, 15873, __pyx_L51_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, 15873, __pyx_L51_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":15872
 *             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":15874
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(0, 15874, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":15875
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:
 *                 str_list += ['usage : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15875, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_usage_ValueError) != (0)) __PYX_ERR(0, 15875, __pyx_L53_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15875, __pyx_L53_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_L52_exception_handled;
      }
      goto __pyx_L53_except_error;

      /* "cuda/bindings/driver.pyx":15872
 *             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":15876
 *             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":15877
 *                 str_list += ['usage : <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, 15877, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15877, __pyx_L59_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, 15877, __pyx_L59_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, 15877, __pyx_L59_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, 15877, __pyx_L59_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, 15877, __pyx_L59_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":15876
 *             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":15878
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15878, __pyx_L61_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":15879
 *                 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, 15879, __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, 15879, __pyx_L61_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15879, __pyx_L61_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_L60_exception_handled;
      }
      goto __pyx_L61_except_error;

      /* "cuda/bindings/driver.pyx":15876
 *             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":15880
 *             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, 15880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15850
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15882
 *             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":15849
 *     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_10genexpr200__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":15883
 *         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":15885
 *     @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, 15885, __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, 15885, __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, 15885, __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":15886
 *     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":15885
 *     @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":15887
 *         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, 15887, __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, 15887, __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, 15887, __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":15883
 *         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":15888
 *             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, 15889, __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":15890
 *     @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, 15890, __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, 15890, __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":15888
 *             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":15891
 *     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":15893
 *     @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, 15893, __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, 15893, __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, 15893, __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":15894
 *     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":15893
 *     @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":15895
 *         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, 15895, __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, 15895, __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, 15895, __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":15891
 *     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":15896
 *             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, 15897, __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":15898
 *     @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, 15898, __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, 15898, __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":15896
 *             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":15899
 *     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":15901
 *     @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":15899
 *     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":15902
 *     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, 15903, __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":15904
 *     @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((PyObject*)__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, 15904, __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, 15904, __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":15902
 *     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":15905
 *     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":15907
 *     @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, 15907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15905
 *     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":15908
 *     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;
  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":15910
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_win32SecurityAttributes};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15910, __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":15911
 *     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, 15911, __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, 15911, __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_4));

  /* "cuda/bindings/driver.pyx":15908
 *     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_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":15912
 *         _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":15914
 *     @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, 15914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15912
 *         _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":15915
 *     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, 15916, __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":15917
 *     @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":15915
 *     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":15918
 *     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":15920
 *     @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, 15920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15918
 *     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":15921
 *     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, 15922, __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":15923
 *     @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":15921
 *     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":15924
 *     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":15926
 *     @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, 15926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15924
 *     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":15927
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15929
 *     @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, 15929, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 54);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15930
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15930, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15930, __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, 15930, __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_reserved_length_must_be_54_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 15930, __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, 15930, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15929
 *     @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":15931
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15931, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 15931, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 15931, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15931, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 15931, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":15932
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15932, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15932, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":15931
 *         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":15927
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":15948
 *         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, 15948, __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, 15948, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15948, __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, 15948, __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, 15948, __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, 15948, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15949
 *     """
 *     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":15950
 *     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":15949
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":15952
 *             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":15948
 *         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":15953
 *         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, 15953, __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, 15953, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 15953, __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, 15953, __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, 15953, __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, 15953, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":15955
 *     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":15957
 *     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":15958
 *         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, 15958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15957
 *     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":15959
 *     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":15960
 *         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":15961
 *     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, 15961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":15962
 *         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":15963
 *             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, 15963, __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, 15963, __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, 15963, __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, 15963, __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, 15963, __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, 15963, __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":15962
 *         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":15964
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 15964, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":15965
 *                 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, 15965, __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, 15965, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 15965, __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":15962
 *         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":15966
 *             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, 15966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":15960
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":15968
 *             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":15959
 *     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":15969
 *         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":15971
 *     @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, 15971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":15969
 *         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":15972
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":15974
 *     @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, 15974, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":15975
 *     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_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15975, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15975, __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, 15975, __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_reserved_length_must_be_64_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15975, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 15975, __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, 15975, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":15974
 *     @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":15976
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15976, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 15976, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 15976, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15976, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 15976, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":15977
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 15977, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15977, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":15976
 *         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":15972
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16003
 *         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, 16003, __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, 16003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16003, __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, 16003, __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, 16003, __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, 16003, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16004
 *     """
 *     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":16005
 *     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":16004
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16007
 *             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":16003
 *         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":16008
 *         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, 16008, __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, 16008, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16008, __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, 16008, __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, 16008, __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, 16008, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16010
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16010, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16010, __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":16011
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16011, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16011, __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":16008
 *         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_5);
  __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":16012
 *         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":16014
 *     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":16015
 *         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, 16015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16014
 *     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":16016
 *     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_10genexpr201__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr202__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":16017
 *         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":16018
 *     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, 16018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16019
 *         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":16020
 *             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, 16020, __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, 16020, __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, 16020, __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, 16020, __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, 16020, __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, 16020, __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":16019
 *         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":16021
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16021, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16022
 *                 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, 16022, __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, 16022, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16022, __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":16019
 *         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":16023
 *             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":16024
 *                 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, 16024, __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, 16024, __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, 16024, __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, 16024, __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, 16024, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16024, __pyx_L20_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, 16024, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16024, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr201__pyx_v_line); __pyx_10genexpr201__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr201__pyx_v_line); __pyx_10genexpr201__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, 16024, __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, 16024, __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, 16024, __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, 16024, __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, 16024, __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":16023
 *             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":16025
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16025, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16026
 *                 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, 16026, __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, 16026, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16026, __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":16023
 *             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":16027
 *             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":16028
 *                 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, 16028, __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, 16028, __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, 16028, __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, 16028, __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, 16028, __pyx_L35_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16028, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr202__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr202__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16028, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16028, __pyx_L35_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line); __pyx_10genexpr202__pyx_v_line = 0;
          goto __pyx_L39_exit_scope;
          __pyx_L35_error:;
          __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line); __pyx_10genexpr202__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, 16028, __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, 16028, __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, 16028, __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, 16028, __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, 16028, __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":16027
 *             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":16029
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16029, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16030
 *                 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, 16030, __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, 16030, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16030, __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":16027
 *             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":16031
 *             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":16032
 *                 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, 16032, __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, 16032, __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, 16032, __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, 16032, __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, 16032, __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, 16032, __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":16031
 *             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":16033
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16033, __pyx_L44_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16034
 *                 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, 16034, __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, 16034, __pyx_L44_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16034, __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":16031
 *             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":16035
 *             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, 16035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16017
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16037
 *             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":16016
 *     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_10genexpr201__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr202__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16038
 *         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":16040
 *     @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, 16040, __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, 16040, __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, 16040, __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":16041
 *     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":16040
 *     @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":16042
 *         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, 16042, __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, 16042, __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, 16042, __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":16038
 *         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":16043
 *             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, 16044, __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":16045
 *     @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, 16045, __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, 16045, __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":16043
 *             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":16046
 *     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":16048
 *     @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":16046
 *     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":16049
 *     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, 16050, __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":16051
 *     @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((PyObject*)__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, 16051, __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, 16051, __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":16049
 *     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":16052
 *     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":16054
 *     @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":16052
 *     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":16055
 *     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, 16056, __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":16057
 *     @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((PyObject*)__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, 16057, __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, 16057, __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":16055
 *     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":16058
 *     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":16060
 *     @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, 16060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16058
 *     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":16061
 *     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, 16062, __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":16063
 *     @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":16061
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16083
 *         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, 16083, __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, 16083, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16083, __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, 16083, __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, 16083, __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, 16083, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16084
 *     """
 *     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":16085
 *     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":16084
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16087
 *             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":16083
 *         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":16088
 *         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, 16088, __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, 16088, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16088, __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, 16088, __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, 16088, __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, 16088, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16090
 *     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":16092
 *     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":16093
 *         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, 16093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16092
 *     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":16094
 *     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":16095
 *         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":16096
 *     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, 16096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16097
 *         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":16098
 *             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, 16098, __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, 16098, __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, 16098, __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, 16098, __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, 16098, __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, 16098, __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":16097
 *         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":16099
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16099, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16100
 *                 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, 16100, __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, 16100, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16100, __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":16097
 *         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":16101
 *             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":16102
 *                 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, 16102, __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, 16102, __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, 16102, __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, 16102, __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, 16102, __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, 16102, __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":16101
 *             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":16103
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16103, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16104
 *                 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, 16104, __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, 16104, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16104, __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":16101
 *             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":16105
 *             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":16106
 *                 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, 16106, __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, 16106, __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, 16106, __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, 16106, __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, 16106, __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, 16106, __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":16105
 *             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":16107
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16107, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16108
 *                 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, 16108, __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, 16108, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16108, __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":16105
 *             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":16109
 *             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, 16109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16095
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16111
 *             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":16094
 *     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":16112
 *         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":16114
 *     @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, 16114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16112
 *         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":16115
 *     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, 16116, __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":16117
 *     @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":16115
 *     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":16118
 *     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":16120
 *     @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, 16120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16118
 *     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":16121
 *     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, 16122, __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":16123
 *     @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":16121
 *     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":16124
 *     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":16126
 *     @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, 16126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16124
 *     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":16127
 *     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, 16128, __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":16129
 *     @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":16127
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16149
 *         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, 16149, __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, 16149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16149, __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, 16149, __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, 16149, __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, 16149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16150
 *     """
 *     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":16151
 *     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":16150
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16153
 *             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":16149
 *         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":16154
 *         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, 16154, __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, 16154, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16154, __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, 16154, __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, 16154, __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, 16154, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16156
 *     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":16158
 *     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":16159
 *         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, 16159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16158
 *     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":16160
 *     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":16161
 *         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":16162
 *     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, 16162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16163
 *         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":16164
 *             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, 16164, __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, 16164, __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, 16164, __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, 16164, __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, 16164, __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, 16164, __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":16163
 *         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":16165
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16165, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16166
 *                 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, 16166, __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, 16166, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16166, __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":16163
 *         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":16167
 *             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":16168
 *                 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, 16168, __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, 16168, __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, 16168, __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, 16168, __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, 16168, __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, 16168, __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":16167
 *             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":16169
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16169, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16170
 *                 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, 16170, __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, 16170, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16170, __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":16167
 *             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":16171
 *             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":16172
 *                 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, 16172, __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, 16172, __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, 16172, __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, 16172, __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, 16172, __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, 16172, __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":16171
 *             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":16173
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16173, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16174
 *                 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, 16174, __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, 16174, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16174, __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":16171
 *             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":16175
 *             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, 16175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16161
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16177
 *             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":16160
 *     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":16178
 *         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":16180
 *     @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, 16180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16178
 *         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":16181
 *     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, 16182, __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":16183
 *     @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":16181
 *     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":16184
 *     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":16186
 *     @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, 16186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16184
 *     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":16187
 *     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, 16188, __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":16189
 *     @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":16187
 *     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":16190
 *     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":16192
 *     @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, 16192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16190
 *     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":16193
 *     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, 16194, __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":16195
 *     @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":16193
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16215
 *         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, 16215, __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, 16215, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16215, __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, 16215, __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, 16215, __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, 16215, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16215, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16216
 *     """
 *     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":16215
 *         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":16218
 *         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, 16218, __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, 16218, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16218, __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, 16218, __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, 16218, __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, 16218, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16218, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16220
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16220, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16220, __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":16221
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16221, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16221, __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":16218
 *         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_5);
  __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":16222
 *         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":16224
 *     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":16225
 *         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, 16225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16224
 *     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":16226
 *     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_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;
  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":16227
 *         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":16228
 *     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, 16228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16229
 *         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":16230
 *             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, 16230, __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, 16230, __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, 16230, __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, 16230, __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, 16230, __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, 16230, __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":16229
 *         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":16231
 *             try:
 *                 str_list += ['ptr : ' + str(self.ptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ptr : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16231, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16232
 *                 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, 16232, __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, 16232, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16232, __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":16229
 *         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":16233
 *             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":16234
 *                 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, 16234, __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, 16234, __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, 16234, __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, 16234, __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, 16234, __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, 16234, __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":16233
 *             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":16235
 *             try:
 *                 str_list += ['rowLength : ' + str(self.rowLength)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['rowLength : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16235, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16236
 *                 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, 16236, __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, 16236, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16236, __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":16233
 *             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":16237
 *             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":16238
 *                 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, 16238, __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, 16238, __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, 16238, __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, 16238, __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, 16238, __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, 16238, __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":16237
 *             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":16239
 *             try:
 *                 str_list += ['layerHeight : ' + str(self.layerHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layerHeight : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16239, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16240
 *                 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, 16240, __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, 16240, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16240, __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":16237
 *             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":16241
 *             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":16242
 *                 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, 16242, __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, 16242, __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, 16242, __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, 16242, __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, 16242, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16242, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr203__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr203__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16242, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16242, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr203__pyx_v_line); __pyx_10genexpr203__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr203__pyx_v_line); __pyx_10genexpr203__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, 16242, __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, 16242, __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, 16242, __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, 16242, __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, 16242, __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":16241
 *             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":16243
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16243, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16244
 *                 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, 16244, __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, 16244, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16244, __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":16241
 *             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":16245
 *             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, 16245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16227
 *         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":16247
 *             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":16226
 *     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_10genexpr203__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16248
 *         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":16250
 *     @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":16248
 *         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":16251
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16254
 *     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":16255
 *         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":16254
 *     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":16256
 *         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":16257
 *             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, 16257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16258
 *         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, 16258, __pyx_L1_error)
    __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16256
 *         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":16260
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16260, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16260, __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;

    /* "cuda/bindings/driver.pyx":16261
 *         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, 16261, __pyx_L1_error)
    __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16262
 *             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":16251
 *     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_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":16264
 *         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":16266
 *     @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, 16266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16264
 *         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":16267
 *     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, 16268, __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":16269
 *     @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":16267
 *     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":16270
 *     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":16272
 *     @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, 16272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16270
 *     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":16273
 *     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, 16274, __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":16275
 *     @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":16273
 *     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":16276
 *     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":16278
 *     @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":16276
 *     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":16279
 *     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, 16280, __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":16281
 *     @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((PyObject*)__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, 16281, __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, 16281, __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":16279
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16297
 *         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, 16297, __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, 16297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16297, __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, 16297, __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, 16297, __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, 16297, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16297, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16298
 *     """
 *     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":16297
 *         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":16300
 *         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, 16300, __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, 16300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16300, __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, 16300, __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, 16300, __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, 16300, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16300, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16302
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16302, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16302, __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":16303
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16303, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16303, __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":16300
 *         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_5);
  __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":16304
 *         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":16306
 *     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":16307
 *         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, 16307, __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
 *     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":16308
 *     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_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;
  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":16309
 *         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":16310
 *     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, 16310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16311
 *         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":16312
 *             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, 16312, __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, 16312, __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, 16312, __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, 16312, __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, 16312, __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, 16312, __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":16311
 *         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":16313
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16313, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16314
 *                 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, 16314, __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, 16314, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16314, __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":16311
 *         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":16315
 *             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":16316
 *                 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, 16316, __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, 16316, __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, 16316, __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, 16316, __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, 16316, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16316, __pyx_L20_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, 16316, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16316, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr204__pyx_v_line); __pyx_10genexpr204__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr204__pyx_v_line); __pyx_10genexpr204__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, 16316, __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, 16316, __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, 16316, __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, 16316, __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, 16316, __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":16315
 *             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":16317
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16317, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16318
 *                 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, 16318, __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, 16318, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16318, __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":16315
 *             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":16319
 *             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, 16319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16309
 *         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":16321
 *             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":16308
 *     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_10genexpr204__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16322
 *         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":16324
 *     @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":16322
 *         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":16325
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16328
 *     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":16329
 *         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":16328
 *     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":16330
 *         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":16331
 *             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, 16331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16332
 *         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, 16332, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16330
 *         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":16334
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16334, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16334, __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;

    /* "cuda/bindings/driver.pyx":16335
 *         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, 16335, __pyx_L1_error)
    __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16336
 *             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":16325
 *     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_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":16337
 *             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":16339
 *     @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":16337
 *             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":16340
 *     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, 16341, __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":16342
 *     @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((PyObject*)__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, 16342, __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, 16342, __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":16340
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16358
 *         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, 16358, __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, 16358, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16358, __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, 16358, __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, 16358, __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, 16358, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16358, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16359
 *     """
 *     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":16358
 *         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":16361
 *         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, 16361, __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, 16361, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16361, __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, 16361, __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, 16361, __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, 16361, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 16361, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16363
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16363, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16363, __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":16364
 *         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_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16364, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16364, __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":16361
 *         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_5);
  __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":16365
 *         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":16367
 *     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":16368
 *         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, 16368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16367
 *     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":16369
 *     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_10genexpr205__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr206__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":16370
 *         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":16371
 *     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, 16371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16372
 *         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":16373
 *             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, 16373, __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, 16373, __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, 16373, __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, 16373, __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, 16373, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16373, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr205__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr205__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16373, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16373, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr205__pyx_v_line); __pyx_10genexpr205__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr205__pyx_v_line); __pyx_10genexpr205__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, 16373, __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, 16373, __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, 16373, __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, 16373, __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, 16373, __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":16372
 *         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":16374
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16374, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16375
 *                 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, 16375, __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, 16375, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16375, __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":16372
 *         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":16376
 *             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":16377
 *                 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, 16377, __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, 16377, __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, 16377, __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, 16377, __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, 16377, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16377, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr206__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr206__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16377, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16377, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_line); __pyx_10genexpr206__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_line); __pyx_10genexpr206__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, 16377, __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, 16377, __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, 16377, __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, 16377, __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, 16377, __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":16376
 *             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":16378
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16378, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":16379
 *                 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, 16379, __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, 16379, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16379, __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":16376
 *             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":16380
 *             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, 16380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16370
 *         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":16382
 *             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":16369
 *     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_10genexpr205__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr206__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16383
 *         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":16385
 *     @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":16383
 *         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":16386
 *     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, 16387, __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":16388
 *     @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((PyObject*)__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, 16388, __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, 16388, __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":16386
 *     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":16389
 *     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":16391
 *     @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":16389
 *     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":16392
 *     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, 16393, __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":16394
 *     @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((PyObject*)__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, 16394, __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, 16394, __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":16392
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16412
 *         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, 16412, __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, 16412, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16412, __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, 16412, __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, 16412, __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, 16412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16413
 *     """
 *     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":16414
 *     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":16415
 *         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":16413
 *     """
 *     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":16417
 *             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":16412
 *         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":16418
 *         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, 16418, __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, 16418, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16418, __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, 16418, __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, 16418, __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, 16418, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16420
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16420, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union12, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16420, __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":16418
 *         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_5);
  __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":16421
 *         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":16422
 *         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":16423
 *     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":16422
 *         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":16421
 *         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":16424
 *         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":16425
 *             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, 16425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16424
 *         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":16426
 *     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_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;
  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":16427
 *         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":16428
 *     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, 16428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16429
 *         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":16430
 *             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, 16430, __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, 16430, __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, 16430, __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, 16430, __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, 16430, __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, 16430, __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":16429
 *         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":16431
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16431, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16432
 *                 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, 16432, __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, 16432, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16432, __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":16429
 *         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":16433
 *             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":16434
 *                 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, 16434, __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, 16434, __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, 16434, __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, 16434, __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, 16434, __pyx_L20_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16434, __pyx_L20_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, 16434, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16434, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr207__pyx_v_line); __pyx_10genexpr207__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_10genexpr207__pyx_v_line); __pyx_10genexpr207__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, 16434, __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, 16434, __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, 16434, __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, 16434, __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, 16434, __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":16433
 *             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":16435
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16435, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16436
 *                 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, 16436, __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, 16436, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16436, __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":16433
 *             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":16437
 *             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, 16437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16427
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16439
 *             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":16426
 *     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_10genexpr207__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16440
 *         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":16442
 *     @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, 16442, __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, 16442, __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, 16442, __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":16443
 *     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":16442
 *     @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":16444
 *         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, 16444, __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, 16444, __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, 16444, __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":16440
 *         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":16445
 *             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, 16446, __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":16447
 *     @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, 16447, __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, 16447, __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":16445
 *             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":16448
 *     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":16450
 *     @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":16448
 *     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":16451
 *     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, 16452, __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":16453
 *     @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((PyObject*)__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, 16453, __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, 16453, __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":16451
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16476
 *         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, 16476, __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, 16476, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16476, __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, 16476, __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, 16476, __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, 16476, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16477
 *     """
 *     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":16478
 *     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":16477
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16480
 *             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":16476
 *         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":16481
 *         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, 16481, __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, 16481, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16481, __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, 16481, __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, 16481, __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, 16481, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16483
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16483, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16483, __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":16484
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16484, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16484, __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":16485
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16485, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16485, __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":16481
 *         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_5);
  __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":16486
 *         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":16488
 *     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":16489
 *         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, 16489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16488
 *     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":16490
 *     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_10genexpr208__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr209__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr210__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":16491
 *         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":16492
 *     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, 16492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16493
 *         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":16494
 *             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, 16494, __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, 16494, __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, 16494, __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, 16494, __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, 16494, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16494, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr208__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr208__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16494, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16494, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr208__pyx_v_line); __pyx_10genexpr208__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr208__pyx_v_line); __pyx_10genexpr208__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, 16494, __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, 16494, __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, 16494, __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, 16494, __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, 16494, __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":16493
 *         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":16495
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16495, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16496
 *                 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, 16496, __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, 16496, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16496, __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":16493
 *         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":16497
 *             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":16498
 *                 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, 16498, __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, 16498, __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, 16498, __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, 16498, __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, 16498, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16498, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr209__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr209__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16498, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16498, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_line); __pyx_10genexpr209__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_line); __pyx_10genexpr209__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, 16498, __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, 16498, __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, 16498, __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, 16498, __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, 16498, __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":16497
 *             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":16499
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16499, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":16500
 *                 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, 16500, __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, 16500, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16500, __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":16497
 *             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":16501
 *             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":16502
 *                 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, 16502, __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, 16502, __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, 16502, __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, 16502, __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, 16502, __pyx_L42_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16502, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr210__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr210__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16502, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 16502, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line); __pyx_10genexpr210__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line); __pyx_10genexpr210__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, 16502, __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, 16502, __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, 16502, __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, 16502, __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, 16502, __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":16501
 *             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":16503
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16503, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16504
 *                 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, 16504, __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, 16504, __pyx_L36_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16504, __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":16501
 *             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":16505
 *             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":16506
 *                 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, 16506, __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, 16506, __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, 16506, __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, 16506, __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, 16506, __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, 16506, __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":16505
 *             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":16507
 *             try:
 *                 str_list += ['srcAccessOrder : ' + str(self.srcAccessOrder)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcAccessOrder : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16507, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":16508
 *                 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, 16508, __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, 16508, __pyx_L51_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16508, __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":16505
 *             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":16509
 *             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":16510
 *                 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, 16510, __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, 16510, __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, 16510, __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, 16510, __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, 16510, __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, 16510, __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":16509
 *             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":16511
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16511, __pyx_L59_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16512
 *                 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, 16512, __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, 16512, __pyx_L59_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16512, __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":16509
 *             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":16513
 *             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, 16513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16491
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16515
 *             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":16490
 *     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_10genexpr208__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr209__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr210__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16516
 *         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":16518
 *     @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":16516
 *         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":16519
 *     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, 16520, __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":16521
 *     @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((PyObject*)__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, 16521, __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, 16521, __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":16519
 *     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":16522
 *     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":16524
 *     @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":16522
 *     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":16525
 *     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, 16526, __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":16527
 *     @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((PyObject*)__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, 16527, __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, 16527, __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":16525
 *     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":16528
 *     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":16530
 *     @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":16528
 *     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":16531
 *     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, 16532, __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":16533
 *     @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((PyObject*)__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, 16533, __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, 16533, __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":16531
 *     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":16534
 *     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":16536
 *     @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, 16536, __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, 16536, __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, 16536, __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":16537
 *     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":16536
 *     @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":16538
 *         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, 16538, __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, 16538, __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, 16538, __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":16534
 *     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":16539
 *             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, 16540, __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":16541
 *     @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, 16541, __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, 16541, __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":16539
 *             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":16542
 *     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":16544
 *     @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, 16544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16542
 *     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":16545
 *     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, 16546, __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":16547
 *     @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":16545
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16575
 *         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, 16575, __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, 16575, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16575, __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, 16575, __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, 16575, __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, 16575, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16576
 *     """
 *     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":16577
 *     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":16576
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16579
 *             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":16575
 *         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":16580
 *         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, 16580, __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, 16580, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16580, __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, 16580, __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, 16580, __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, 16580, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16582
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16582, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16582, __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":16583
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16583, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16583, __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":16580
 *         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_5);
  __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":16584
 *         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":16586
 *     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":16587
 *         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":16586
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":16584
 *         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":16588
 *         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":16589
 *             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, 16589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16588
 *         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":16590
 *     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_10genexpr211__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":16591
 *         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":16592
 *     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, 16592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16593
 *         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":16594
 *             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, 16594, __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, 16594, __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, 16594, __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, 16594, __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, 16594, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16594, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr211__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr211__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16594, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16594, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr211__pyx_v_line); __pyx_10genexpr211__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr211__pyx_v_line); __pyx_10genexpr211__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, 16594, __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, 16594, __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, 16594, __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, 16594, __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, 16594, __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":16593
 *         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":16595
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16595, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16596
 *                 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, 16596, __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, 16596, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16596, __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":16593
 *         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":16597
 *             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":16598
 *                 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, 16598, __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, 16598, __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, 16598, __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, 16598, __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, 16598, __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, 16598, __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":16597
 *             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":16599
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16599, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16600
 *                 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, 16600, __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, 16600, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16600, __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":16597
 *             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":16601
 *             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":16602
 *                 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, 16602, __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, 16602, __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, 16602, __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, 16602, __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, 16602, __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, 16602, __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":16601
 *             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":16603
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16603, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16604
 *                 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, 16604, __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, 16604, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16604, __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":16601
 *             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":16605
 *             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":16606
 *                 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, 16606, __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, 16606, __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, 16606, __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, 16606, __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, 16606, __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, 16606, __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":16605
 *             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":16607
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16607, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16608
 *                 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, 16608, __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, 16608, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16608, __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":16605
 *             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":16609
 *             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":16610
 *                 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, 16610, __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, 16610, __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, 16610, __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, 16610, __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, 16610, __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, 16610, __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":16609
 *             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":16611
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16611, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16612
 *                 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, 16612, __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, 16612, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16612, __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":16609
 *             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":16613
 *             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, 16613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16591
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16615
 *             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":16590
 *     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_10genexpr211__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16616
 *         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":16618
 *     @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":16616
 *         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":16619
 *     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, 16620, __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":16621
 *     @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((PyObject*)__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, 16621, __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, 16621, __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":16619
 *     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":16622
 *     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_10genexpr212__pyx_v_x;
  PyObject *__pyx_10genexpr213__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16624
 *     @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, 16624, __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_10genexpr212__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_10genexpr212__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16624, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16624, __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":16625
 *     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, 16625, __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, 16625, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16625, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr213__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16625, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr213__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16625, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 16625, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16625, __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_10genexpr213__pyx_v_arr); __pyx_10genexpr213__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr213__pyx_v_arr); __pyx_10genexpr213__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":16622
 *     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_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_10genexpr213__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16626
 *         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;
  size_t __pyx_t_8;
  CUmemAccessDesc *__pyx_t_9;
  Py_ssize_t __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":16628
 *     @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, 16628, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":16629
 *     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":16630
 *         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":16631
 *             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":16628
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16633
 *             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, 16633, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":16634
 *         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":16635
 *             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, 16635, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/bindings/driver.pyx":16636
 *                 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":16637
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16637, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16637, __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, 16637, __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, 16637, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16637, __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(CUmemAccessDesc))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16637, __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, 16637, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16637, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16637, __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, 16637, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":16636
 *                 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":16638
 *                 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, 16638, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":16639
 *                     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_9 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_pvt_ptr[0]).accessDescs = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":16633
 *             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":16640
 *                 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, 16640, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":16641
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16641, __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":16626
 *         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_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":16643
 *                 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":16645
 *     @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, 16645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16643
 *                 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":16646
 *     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, 16647, __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":16648
 *     @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":16646
 *     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":16649
 *     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":16651
 *     @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, 16651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16649
 *     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":16652
 *     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, 16653, __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":16654
 *     @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":16652
 *     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":16655
 *     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":16657
 *     @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":16655
 *     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":16658
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16661
 *     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":16662
 *         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":16661
 *     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":16663
 *         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":16664
 *             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, 16664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16665
 *         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, 16665, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16663
 *         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":16667
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16667, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16667, __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;

    /* "cuda/bindings/driver.pyx":16668
 *         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, 16668, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16669
 *             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":16658
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16698
 *         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, 16698, __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, 16698, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16698, __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, 16698, __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, 16698, __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, 16698, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16699
 *     """
 *     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":16700
 *     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":16699
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16702
 *             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":16698
 *         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":16703
 *         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, 16703, __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, 16703, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16703, __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, 16703, __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, 16703, __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, 16703, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16705
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16705, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16705, __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":16706
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 16706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16706, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 16706, __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":16703
 *         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_5);
  __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":16707
 *         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":16709
 *     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":16710
 *         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":16709
 *     def __dealloc__(self):
 *         pass
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":16707
 *         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":16711
 *         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":16712
 *             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, 16712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16711
 *         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":16713
 *     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_10genexpr214__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":16714
 *         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":16715
 *     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, 16715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16716
 *         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":16717
 *             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, 16717, __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, 16717, __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, 16717, __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, 16717, __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, 16717, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16717, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr214__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr214__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16717, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 16717, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr214__pyx_v_line); __pyx_10genexpr214__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr214__pyx_v_line); __pyx_10genexpr214__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, 16717, __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, 16717, __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, 16717, __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, 16717, __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, 16717, __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":16716
 *         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":16718
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 16718, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16719
 *                 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, 16719, __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, 16719, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16719, __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":16716
 *         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":16720
 *             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":16721
 *                 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, 16721, __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, 16721, __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, 16721, __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, 16721, __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, 16721, __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, 16721, __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":16720
 *             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":16722
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16722, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16723
 *                 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, 16723, __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, 16723, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16723, __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":16720
 *             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":16724
 *             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":16725
 *                 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, 16725, __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, 16725, __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, 16725, __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, 16725, __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, 16725, __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, 16725, __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":16724
 *             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":16726
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16726, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16727
 *                 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, 16727, __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, 16727, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16727, __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":16724
 *             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":16728
 *             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":16729
 *                 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, 16729, __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, 16729, __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, 16729, __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, 16729, __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, 16729, __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, 16729, __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":16728
 *             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":16730
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16730, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16731
 *                 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, 16731, __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, 16731, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16731, __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":16728
 *             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":16732
 *             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":16733
 *                 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, 16733, __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, 16733, __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, 16733, __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, 16733, __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, 16733, __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, 16733, __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":16732
 *             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":16734
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16734, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":16735
 *                 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, 16735, __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, 16735, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 16735, __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":16732
 *             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":16736
 *             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, 16736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16714
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16738
 *             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":16713
 *     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_10genexpr214__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16739
 *         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":16741
 *     @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":16739
 *         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":16742
 *     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, 16743, __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":16744
 *     @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((PyObject*)__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, 16744, __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, 16744, __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":16742
 *     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":16745
 *     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_10genexpr215__pyx_v_x;
  PyObject *__pyx_10genexpr216__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":16747
 *     @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, 16747, __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_10genexpr215__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_10genexpr215__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16747, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 16747, __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":16748
 *     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, 16748, __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, 16748, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16748, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr216__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16748, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr216__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16748, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 16748, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 16748, __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_10genexpr216__pyx_v_arr); __pyx_10genexpr216__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr216__pyx_v_arr); __pyx_10genexpr216__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":16745
 *     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_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_10genexpr216__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":16749
 *         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;
  size_t __pyx_t_8;
  CUmemAccessDesc *__pyx_t_9;
  Py_ssize_t __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":16751
 *     @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, 16751, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":16752
 *     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":16753
 *         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":16754
 *             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":16751
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16756
 *             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, 16756, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":16757
 *         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":16758
 *             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, 16758, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/bindings/driver.pyx":16759
 *                 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":16760
 *                 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_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16760, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16760, __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, 16760, __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, 16760, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16760, __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(CUmemAccessDesc))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16760, __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, 16760, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16760, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16760, __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, 16760, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":16759
 *                 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":16761
 *                 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, 16761, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":16762
 *                     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_9 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_pvt_ptr[0]).accessDescs = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":16756
 *             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":16763
 *                 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, 16763, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":16764
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16764, __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":16749
 *         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_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":16766
 *                 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":16768
 *     @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, 16768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16766
 *                 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":16769
 *     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, 16770, __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":16771
 *     @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":16769
 *     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":16772
 *     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":16774
 *     @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, 16774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16772
 *     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":16775
 *     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, 16776, __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":16777
 *     @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":16775
 *     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":16778
 *     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":16780
 *     @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":16778
 *     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":16781
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16784
 *     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":16785
 *         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":16784
 *     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":16786
 *         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":16787
 *             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, 16787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16788
 *         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, 16788, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16786
 *         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":16790
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16790, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16790, __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;

    /* "cuda/bindings/driver.pyx":16791
 *         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, 16791, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16792
 *             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":16781
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16809
 *         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, 16809, __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, 16809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16809, __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, 16809, __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, 16809, __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, 16809, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16810
 *     """
 *     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":16811
 *     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":16810
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16813
 *             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":16809
 *         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":16814
 *         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, 16814, __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, 16814, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16814, __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, 16814, __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, 16814, __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, 16814, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16816
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16816, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16816, __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":16814
 *         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_5);
  __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":16817
 *         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":16819
 *     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":16820
 *         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, 16820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16819
 *     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":16821
 *     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":16822
 *         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":16823
 *     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, 16823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16824
 *         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":16825
 *             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, 16825, __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, 16825, __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, 16825, __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, 16825, __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, 16825, __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, 16825, __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":16824
 *         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":16826
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16826, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16827
 *                 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, 16827, __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, 16827, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16827, __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":16824
 *         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":16828
 *             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, 16828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16822
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16830
 *             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":16821
 *     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":16831
 *         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":16833
 *     @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":16831
 *         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":16834
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16837
 *     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":16838
 *         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":16837
 *     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":16839
 *         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":16840
 *             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, 16840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16841
 *         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, 16841, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16839
 *         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":16843
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16843, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16843, __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;

    /* "cuda/bindings/driver.pyx":16844
 *         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, 16844, __pyx_L1_error)
    __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16845
 *             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":16834
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16868
 *         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, 16868, __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, 16868, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16868, __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, 16868, __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, 16868, __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, 16868, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16869
 *     """
 *     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":16870
 *     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":16869
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16872
 *             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":16868
 *         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":16873
 *         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, 16873, __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, 16873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16873, __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, 16873, __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, 16873, __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, 16873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16875
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16875, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16875, __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":16873
 *         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_5);
  __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":16876
 *         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":16878
 *     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":16879
 *         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, 16879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16878
 *     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":16880
 *     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":16881
 *         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":16882
 *     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, 16882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16883
 *         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":16884
 *             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, 16884, __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, 16884, __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, 16884, __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, 16884, __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, 16884, __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, 16884, __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":16883
 *         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":16885
 *             try:
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16885, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16886
 *                 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, 16886, __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, 16886, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16886, __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":16883
 *         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":16887
 *             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":16888
 *                 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, 16888, __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, 16888, __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, 16888, __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, 16888, __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, 16888, __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, 16888, __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":16887
 *             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":16889
 *             try:
 *                 str_list += ['ownership : ' + str(self.ownership)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ownership : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16889, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":16890
 *                 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, 16890, __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, 16890, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16890, __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":16887
 *             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":16891
 *             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, 16891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16881
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16893
 *             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":16880
 *     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":16894
 *         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":16896
 *     @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":16894
 *         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":16897
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16900
 *     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":16901
 *         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":16900
 *     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":16902
 *         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":16903
 *             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, 16903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16904
 *         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, 16904, __pyx_L1_error)
    __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16902
 *         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":16906
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_graph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":16907
 *         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, 16907, __pyx_L1_error)
    __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16908
 *             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":16897
 *     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_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":16909
 *             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":16911
 *     @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, 16911, __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, 16911, __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, 16911, __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":16912
 *     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":16911
 *     @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":16913
 *         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, 16913, __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, 16913, __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, 16913, __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":16909
 *             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":16914
 *             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, 16915, __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":16916
 *     @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, 16916, __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, 16916, __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":16914
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16932
 *         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, 16932, __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, 16932, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16932, __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, 16932, __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, 16932, __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, 16932, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16933
 *     """
 *     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":16934
 *     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":16933
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16936
 *             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":16932
 *         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":16937
 *         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, 16937, __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, 16937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16937, __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, 16937, __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, 16937, __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, 16937, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16939
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16939, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16939, __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":16937
 *         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_5);
  __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":16940
 *         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":16942
 *     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":16943
 *         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, 16943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16942
 *     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":16944
 *     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":16945
 *         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":16946
 *     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, 16946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16947
 *         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":16948
 *             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, 16948, __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, 16948, __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, 16948, __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, 16948, __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, 16948, __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, 16948, __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":16947
 *         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":16949
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 16949, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":16950
 *                 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, 16950, __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, 16950, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 16950, __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":16947
 *         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":16951
 *             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, 16951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16945
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":16953
 *             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":16944
 *     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":16954
 *         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":16956
 *     @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":16954
 *         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":16957
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":16960
 *     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":16961
 *         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":16960
 *     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":16962
 *         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":16963
 *             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, 16963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16964
 *         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, 16964, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":16962
 *         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":16966
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16966, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16966, __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;

    /* "cuda/bindings/driver.pyx":16967
 *         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, 16967, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":16968
 *             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":16957
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":16984
 *         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, 16984, __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, 16984, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16984, __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, 16984, __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, 16984, __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, 16984, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":16985
 *     """
 *     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":16986
 *     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":16985
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":16988
 *             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":16984
 *         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":16989
 *         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, 16989, __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, 16989, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 16989, __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, 16989, __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, 16989, __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, 16989, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":16991
 *     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_t_3 = __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_3)) __PYX_ERR(0, 16991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 16991, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 16991, __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":16989
 *         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_5);
  __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":16992
 *         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":16994
 *     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":16995
 *         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, 16995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":16994
 *     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":16996
 *     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":16997
 *         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":16998
 *     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, 16998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":16999
 *         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":17000
 *             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, 17000, __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, 17000, __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, 17000, __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, 17000, __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, 17000, __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, 17000, __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":16999
 *         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":17001
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17001, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17002
 *                 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, 17002, __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, 17002, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17002, __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":16999
 *         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":17003
 *             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, 17003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":16997
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17005
 *             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":16996
 *     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":17006
 *         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":17008
 *     @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":17006
 *         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":17009
 *     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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17012
 *     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":17013
 *         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":17012
 *     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":17014
 *         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":17015
 *             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, 17015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17016
 *         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, 17016, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":17014
 *         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":17018
 *             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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17018, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17018, __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;

    /* "cuda/bindings/driver.pyx":17019
 *         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, 17019, __pyx_L1_error)
    __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17020
 *             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":17009
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17068
 *         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, 17068, __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, 17068, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17068, __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, 17068, __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, 17068, __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, 17068, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17069
 *     """
 *     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":17070
 *     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":17071
 *         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":17069
 *     """
 *     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":17073
 *             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":17068
 *         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":17074
 *         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, 17074, __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, 17074, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17074, __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, 17074, __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, 17074, __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, 17074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17076
 *     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_t_3 = __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_3)) __PYX_ERR(0, 17076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17076, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17076, __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":17077
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17077, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17077, __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":17078
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17078, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17078, __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":17079
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17079, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17079, __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":17080
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17080, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17080, __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":17081
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17081, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17081, __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":17082
 *         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_t_3 = __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_3)) __PYX_ERR(0, 17082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17082, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17082, __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":17083
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17083, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17083, __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":17084
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17084, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17084, __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":17085
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17085, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17085, __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":17086
 *         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_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17086, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17086, __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":17087
 *         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_5 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17087, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17087, __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":17088
 *         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_t_3 = __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_3)) __PYX_ERR(0, 17088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17088, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17088, __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":17074
 *         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_5);
  __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":17089
 *         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":17090
 *         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":17091
 *     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":17090
 *         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":17089
 *         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":17092
 *         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":17093
 *             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, 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":17092
 *         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":17094
 *     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_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_10genexpr223__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr224__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr225__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr226__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr227__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr228__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr229__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":17095
 *         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":17096
 *     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, 17096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17097
 *         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":17098
 *             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, 17098, __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, 17098, __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, 17098, __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, 17098, __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, 17098, __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, 17098, __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":17097
 *         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":17099
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17099, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17100
 *                 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, 17100, __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, 17100, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17100, __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":17097
 *         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":17101
 *             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":17102
 *                 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, 17102, __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, 17102, __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, 17102, __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, 17102, __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, 17102, __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, 17102, __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":17101
 *             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":17103
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17103, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17104
 *                 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, 17104, __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, 17104, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17104, __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":17101
 *             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":17105
 *             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":17106
 *                 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, 17106, __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, 17106, __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, 17106, __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, 17106, __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, 17106, __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, 17106, __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":17105
 *             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":17107
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17107, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17108
 *                 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, 17108, __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, 17108, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17108, __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":17105
 *             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":17109
 *             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":17110
 *                 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, 17110, __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, 17110, __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, 17110, __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, 17110, __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, 17110, __pyx_L36_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17110, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr217__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr217__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17110, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17110, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr217__pyx_v_line); __pyx_10genexpr217__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_10genexpr217__pyx_v_line); __pyx_10genexpr217__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, 17110, __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, 17110, __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, 17110, __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, 17110, __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, 17110, __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":17109
 *             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":17111
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17111, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17112
 *                 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, 17112, __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, 17112, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17112, __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":17109
 *             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":17113
 *             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":17114
 *                 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, 17114, __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, 17114, __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, 17114, __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, 17114, __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, 17114, __pyx_L51_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17114, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr218__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr218__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17114, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 17114, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr218__pyx_v_line); __pyx_10genexpr218__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_10genexpr218__pyx_v_line); __pyx_10genexpr218__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, 17114, __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, 17114, __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, 17114, __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, 17114, __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, 17114, __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":17113
 *             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":17115
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17115, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17116
 *                 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, 17116, __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, 17116, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17116, __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":17113
 *             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":17117
 *             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":17118
 *                 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, 17118, __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, 17118, __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, 17118, __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, 17118, __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, 17118, __pyx_L66_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17118, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr219__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr219__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17118, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 17118, __pyx_L66_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr219__pyx_v_line); __pyx_10genexpr219__pyx_v_line = 0;
          goto __pyx_L70_exit_scope;
          __pyx_L66_error:;
          __Pyx_XDECREF(__pyx_10genexpr219__pyx_v_line); __pyx_10genexpr219__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, 17118, __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, 17118, __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, 17118, __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, 17118, __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, 17118, __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":17117
 *             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":17119
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17119, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17120
 *                 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, 17120, __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, 17120, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17120, __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":17117
 *             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":17121
 *             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":17122
 *                 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, 17122, __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, 17122, __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, 17122, __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, 17122, __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, 17122, __pyx_L81_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17122, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr220__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr220__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17122, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17122, __pyx_L81_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr220__pyx_v_line); __pyx_10genexpr220__pyx_v_line = 0;
          goto __pyx_L85_exit_scope;
          __pyx_L81_error:;
          __Pyx_XDECREF(__pyx_10genexpr220__pyx_v_line); __pyx_10genexpr220__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, 17122, __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, 17122, __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, 17122, __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, 17122, __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, 17122, __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":17121
 *             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":17123
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17123, __pyx_L75_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17124
 *                 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, 17124, __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, 17124, __pyx_L75_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17124, __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":17121
 *             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":17125
 *             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":17126
 *                 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, 17126, __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, 17126, __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, 17126, __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, 17126, __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, 17126, __pyx_L96_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17126, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr221__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr221__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17126, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 17126, __pyx_L96_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr221__pyx_v_line); __pyx_10genexpr221__pyx_v_line = 0;
          goto __pyx_L100_exit_scope;
          __pyx_L96_error:;
          __Pyx_XDECREF(__pyx_10genexpr221__pyx_v_line); __pyx_10genexpr221__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, 17126, __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, 17126, __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, 17126, __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, 17126, __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, 17126, __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":17125
 *             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":17127
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17127, __pyx_L90_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17128
 *                 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, 17128, __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, 17128, __pyx_L90_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17128, __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":17125
 *             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":17129
 *             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":17130
 *                 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, 17130, __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, 17130, __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, 17130, __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, 17130, __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, 17130, __pyx_L111_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17130, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr222__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr222__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17130, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 17130, __pyx_L111_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr222__pyx_v_line); __pyx_10genexpr222__pyx_v_line = 0;
          goto __pyx_L115_exit_scope;
          __pyx_L111_error:;
          __Pyx_XDECREF(__pyx_10genexpr222__pyx_v_line); __pyx_10genexpr222__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, 17130, __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, 17130, __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, 17130, __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, 17130, __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, 17130, __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":17129
 *             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":17131
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17131, __pyx_L105_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17132
 *                 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, 17132, __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, 17132, __pyx_L105_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17132, __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":17129
 *             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":17133
 *             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":17134
 *                 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, 17134, __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, 17134, __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, 17134, __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, 17134, __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, 17134, __pyx_L126_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17134, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr223__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr223__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17134, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17134, __pyx_L126_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr223__pyx_v_line); __pyx_10genexpr223__pyx_v_line = 0;
          goto __pyx_L130_exit_scope;
          __pyx_L126_error:;
          __Pyx_XDECREF(__pyx_10genexpr223__pyx_v_line); __pyx_10genexpr223__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, 17134, __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, 17134, __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, 17134, __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, 17134, __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, 17134, __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":17133
 *             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":17135
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17135, __pyx_L120_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17136
 *                 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, 17136, __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, 17136, __pyx_L120_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17136, __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":17133
 *             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":17137
 *             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":17138
 *                 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, 17138, __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, 17138, __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, 17138, __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, 17138, __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, 17138, __pyx_L141_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17138, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr224__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr224__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17138, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 17138, __pyx_L141_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr224__pyx_v_line); __pyx_10genexpr224__pyx_v_line = 0;
          goto __pyx_L145_exit_scope;
          __pyx_L141_error:;
          __Pyx_XDECREF(__pyx_10genexpr224__pyx_v_line); __pyx_10genexpr224__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, 17138, __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, 17138, __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, 17138, __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, 17138, __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, 17138, __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":17137
 *             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":17139
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17139, __pyx_L135_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17140
 *                 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, 17140, __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, 17140, __pyx_L135_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17140, __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":17137
 *             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":17141
 *             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":17142
 *                 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, 17142, __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, 17142, __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, 17142, __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, 17142, __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, 17142, __pyx_L156_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17142, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr225__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr225__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17142, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 17142, __pyx_L156_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr225__pyx_v_line); __pyx_10genexpr225__pyx_v_line = 0;
          goto __pyx_L160_exit_scope;
          __pyx_L156_error:;
          __Pyx_XDECREF(__pyx_10genexpr225__pyx_v_line); __pyx_10genexpr225__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, 17142, __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, 17142, __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, 17142, __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, 17142, __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, 17142, __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":17141
 *             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":17143
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17143, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17144
 *                 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, 17144, __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, 17144, __pyx_L150_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17144, __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":17141
 *             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":17145
 *             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":17146
 *                 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, 17146, __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, 17146, __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, 17146, __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, 17146, __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, 17146, __pyx_L171_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17146, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr226__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr226__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17146, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17146, __pyx_L171_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr226__pyx_v_line); __pyx_10genexpr226__pyx_v_line = 0;
          goto __pyx_L175_exit_scope;
          __pyx_L171_error:;
          __Pyx_XDECREF(__pyx_10genexpr226__pyx_v_line); __pyx_10genexpr226__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, 17146, __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, 17146, __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, 17146, __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, 17146, __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, 17146, __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":17145
 *             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":17147
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17147, __pyx_L165_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17148
 *                 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, 17148, __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, 17148, __pyx_L165_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17148, __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":17145
 *             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":17149
 *             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":17150
 *                 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, 17150, __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, 17150, __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, 17150, __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, 17150, __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, 17150, __pyx_L186_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17150, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr227__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr227__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17150, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 17150, __pyx_L186_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_L190_exit_scope;
          __pyx_L186_error:;
          __Pyx_XDECREF(__pyx_10genexpr227__pyx_v_line); __pyx_10genexpr227__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, 17150, __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, 17150, __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, 17150, __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, 17150, __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, 17150, __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":17149
 *             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":17151
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17151, __pyx_L180_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17152
 *                 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, 17152, __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, 17152, __pyx_L180_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17152, __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":17149
 *             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":17153
 *             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":17154
 *                 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, 17154, __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, 17154, __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, 17154, __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, 17154, __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, 17154, __pyx_L201_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17154, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr228__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr228__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17154, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 17154, __pyx_L201_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr228__pyx_v_line); __pyx_10genexpr228__pyx_v_line = 0;
          goto __pyx_L205_exit_scope;
          __pyx_L201_error:;
          __Pyx_XDECREF(__pyx_10genexpr228__pyx_v_line); __pyx_10genexpr228__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, 17154, __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, 17154, __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, 17154, __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, 17154, __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, 17154, __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":17153
 *             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":17155
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17155, __pyx_L195_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17156
 *                 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, 17156, __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, 17156, __pyx_L195_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17156, __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":17153
 *             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":17157
 *             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":17158
 *                 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, 17158, __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, 17158, __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, 17158, __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, 17158, __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, 17158, __pyx_L216_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17158, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr229__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr229__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17158, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17158, __pyx_L216_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr229__pyx_v_line); __pyx_10genexpr229__pyx_v_line = 0;
          goto __pyx_L220_exit_scope;
          __pyx_L216_error:;
          __Pyx_XDECREF(__pyx_10genexpr229__pyx_v_line); __pyx_10genexpr229__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, 17158, __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, 17158, __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, 17158, __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, 17158, __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, 17158, __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":17157
 *             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":17159
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 17159, __pyx_L210_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17160
 *                 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, 17160, __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, 17160, __pyx_L210_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17160, __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":17157
 *             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":17161
 *             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":17162
 *                 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, 17162, __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, 17162, __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, 17162, __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, 17162, __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, 17162, __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, 17162, __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":17161
 *             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":17163
 *             try:
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17163, __pyx_L225_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17164
 *                 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, 17164, __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, 17164, __pyx_L225_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17164, __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":17161
 *             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":17165
 *             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, 17165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17095
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17167
 *             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":17094
 *     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_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_XDECREF(__pyx_10genexpr223__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr224__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr225__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr226__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr227__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr228__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr229__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17168
 *         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":17170
 *     @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, 17170, __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, 17170, __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, 17170, __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":17171
 *     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":17170
 *     @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":17172
 *         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, 17172, __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, 17172, __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, 17172, __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":17168
 *         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":17173
 *             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, 17174, __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":17175
 *     @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, 17175, __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, 17175, __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":17173
 *             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":17176
 *     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":17178
 *     @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, 17178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17176
 *     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":17179
 *     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":17181
 *     @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, 17181, __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":17179
 *     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":17182
 *     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":17184
 *     @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, 17184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17182
 *     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":17185
 *     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":17187
 *     @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, 17187, __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":17185
 *     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":17188
 *     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":17190
 *     @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":17188
 *     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":17191
 *     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, 17192, __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":17193
 *     @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((PyObject*)__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, 17193, __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, 17193, __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":17191
 *     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":17194
 *     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":17196
 *     @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":17194
 *     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":17197
 *     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, 17198, __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":17199
 *     @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((PyObject*)__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, 17199, __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, 17199, __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":17197
 *     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":17200
 *     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":17202
 *     @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":17200
 *     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":17203
 *     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, 17204, __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":17205
 *     @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((PyObject*)__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, 17205, __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, 17205, __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":17203
 *     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":17206
 *     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":17208
 *     @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":17206
 *     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":17209
 *     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, 17210, __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":17211
 *     @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((PyObject*)__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, 17211, __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, 17211, __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":17209
 *     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":17212
 *     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":17214
 *     @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":17212
 *     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":17215
 *     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, 17216, __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":17217
 *     @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((PyObject*)__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, 17217, __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, 17217, __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":17215
 *     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":17218
 *     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":17220
 *     @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":17218
 *     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":17221
 *     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, 17222, __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":17223
 *     @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((PyObject*)__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, 17223, __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, 17223, __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":17221
 *     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":17224
 *     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":17226
 *     @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":17224
 *     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":17227
 *     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, 17228, __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":17229
 *     @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((PyObject*)__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, 17229, __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, 17229, __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":17227
 *     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":17230
 *     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":17232
 *     @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":17230
 *     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":17233
 *     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, 17234, __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":17235
 *     @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((PyObject*)__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, 17235, __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, 17235, __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":17233
 *     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":17236
 *     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":17238
 *     @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":17236
 *     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":17239
 *     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, 17240, __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":17241
 *     @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((PyObject*)__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, 17241, __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, 17241, __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":17239
 *     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":17242
 *     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":17244
 *     @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":17242
 *     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":17245
 *     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, 17246, __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":17247
 *     @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((PyObject*)__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, 17247, __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, 17247, __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":17245
 *     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":17248
 *     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":17250
 *     @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":17248
 *     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":17251
 *     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, 17252, __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":17253
 *     @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((PyObject*)__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, 17253, __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, 17253, __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":17251
 *     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":17254
 *     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":17256
 *     @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":17254
 *     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":17257
 *     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, 17258, __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":17259
 *     @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((PyObject*)__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, 17259, __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, 17259, __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":17257
 *     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":17260
 *     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":17262
 *     @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":17260
 *     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":17263
 *     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, 17264, __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":17265
 *     @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((PyObject*)__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, 17265, __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, 17265, __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":17263
 *     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":17266
 *     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":17268
 *     @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, 17268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17266
 *     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":17269
 *     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, 17270, __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":17271
 *     @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":17269
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17292
 *         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, 17292, __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, 17292, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17292, __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, 17292, __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, 17292, __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, 17292, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17293
 *     """
 *     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":17294
 *     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":17293
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17296
 *             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":17292
 *         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":17297
 *         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, 17297, __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, 17297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17297, __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, 17297, __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, 17297, __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, 17297, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17299
 *     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":17301
 *     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":17302
 *         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, 17302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17301
 *     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":17303
 *     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":17304
 *         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":17305
 *     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, 17305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17306
 *         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":17307
 *             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, 17307, __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, 17307, __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, 17307, __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, 17307, __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, 17307, __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, 17307, __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":17306
 *         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":17308
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17308, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17309
 *                 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, 17309, __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, 17309, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17309, __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":17306
 *         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":17310
 *             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":17311
 *                 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, 17311, __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, 17311, __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, 17311, __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, 17311, __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, 17311, __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, 17311, __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":17310
 *             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":17312
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17312, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17313
 *                 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, 17313, __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, 17313, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17313, __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":17310
 *             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":17314
 *             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":17315
 *                 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, 17315, __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, 17315, __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, 17315, __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, 17315, __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, 17315, __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, 17315, __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":17314
 *             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":17316
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17316, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17317
 *                 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, 17317, __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, 17317, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17317, __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":17314
 *             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":17318
 *             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, 17318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17304
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17320
 *             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":17303
 *     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":17321
 *         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":17323
 *     @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, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17321
 *         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":17324
 *     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, 17325, __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":17326
 *     @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":17324
 *     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":17327
 *     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":17329
 *     @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, 17329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17327
 *     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":17330
 *     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, 17331, __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":17332
 *     @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":17330
 *     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":17333
 *     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_10genexpr230__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;
  size_t __pyx_t_8;
  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":17335
 *     @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, 17335, __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_10genexpr230__pyx_v__reserved1 = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr230__pyx_v__reserved1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17335, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17335, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17335, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17335, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17335, __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":17333
 *     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_9);
  __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":17336
 *     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":17338
 *     @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, 17338, __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":17336
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17355
 *         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, 17355, __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, 17355, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17355, __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, 17355, __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, 17355, __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, 17355, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17356
 *     """
 *     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":17357
 *     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":17356
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17359
 *             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":17355
 *         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":17360
 *         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, 17360, __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, 17360, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17360, __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, 17360, __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, 17360, __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, 17360, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17362
 *     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":17364
 *     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":17365
 *         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, 17365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17364
 *     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":17366
 *     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":17367
 *         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":17368
 *     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, 17368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17369
 *         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":17370
 *             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, 17370, __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, 17370, __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, 17370, __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, 17370, __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, 17370, __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, 17370, __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":17369
 *         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":17371
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17371, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17372
 *                 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, 17372, __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, 17372, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17372, __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":17369
 *         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":17373
 *             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, 17373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17367
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17375
 *             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":17366
 *     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":17376
 *         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_10genexpr231__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;
  size_t __pyx_t_8;
  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":17378
 *     @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, 17378, __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_10genexpr231__pyx_v__reserved = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr231__pyx_v__reserved); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17378, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17378, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17378, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17378, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17378, __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":17376
 *         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_9);
  __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":17379
 *     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":17381
 *     @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, 17381, __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":17379
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17400
 *         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_22CUcheckpointGpuPair_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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, 17400, __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, 17400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17400, __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, 17400, __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, 17400, __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, 17400, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointGpuPair_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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":17401
 *     """
 *     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":17402
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointGpuPair_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17401
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17404
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointGpuPair_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUcheckpointGpuPair_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17400
 *         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":17405
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointGpuPair_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._oldUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].oldUuid)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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, 17405, __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, 17405, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17405, __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, 17405, __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, 17405, __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, 17405, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointGpuPair_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17407
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._oldUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].oldUuid)             # <<<<<<<<<<<<<<
 *         self._newUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].newUuid)
 *     def __dealloc__(self):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).oldUuid))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17407, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17407, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_oldUuid);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_oldUuid);
  __pyx_v_self->_oldUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17408
 *         pass
 *         self._oldUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].oldUuid)
 *         self._newUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].newUuid)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).newUuid))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17408, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 17408, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_newUuid);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_newUuid);
  __pyx_v_self->_newUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17405
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointGpuPair_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._oldUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].oldUuid)
*/

  /* 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_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointGpuPair_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17409
 *         self._oldUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].oldUuid)
 *         self._newUuid = CUuuid(_ptr=<void_ptr>&self._pvt_ptr[0].newUuid)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17411
 *     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_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_6getPtr, "CUcheckpointGpuPair_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self) {
  PyObject *__pyx_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":17412
 *         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, 17412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17411
 *     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.CUcheckpointGpuPair_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":17413
 *     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_22CUcheckpointGpuPair_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_10genexpr232__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr233__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":17414
 *         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":17415
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).splitlines()])]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17416
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).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":17417
 *             str_list = []
 *             try:
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['oldUuid : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17417, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_oldUuid_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17417, __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, 17417, __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, 17417, __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, 17417, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17417, __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, 17417, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 17417, __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, 17417, __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_oldUuid, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17417, __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, 17417, __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, 17417, __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, 17417, __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":17416
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).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":17418
 *             try:
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['oldUuid : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointGpuPair_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 17418, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":17419
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).splitlines()])]
 *             except ValueError:
 *                 str_list += ['oldUuid : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17419, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_oldUuid_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_oldUuid_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_oldUuid_ValueError) != (0)) __PYX_ERR(0, 17419, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17419, __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":17416
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['oldUuid :\n' + '\n'.join(['    ' + line for line in str(self.oldUuid).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":17420
 *             except ValueError:
 *                 str_list += ['oldUuid : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).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":17421
 *                 str_list += ['oldUuid : <ValueError>']
 *             try:
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['newUuid : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17421, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_newUuid_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17421, __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, 17421, __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, 17421, __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, 17421, __pyx_L27_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17421, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_XDECREF_SET(__pyx_10genexpr233__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr233__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17421, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 17421, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr233__pyx_v_line); __pyx_10genexpr233__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_10genexpr233__pyx_v_line); __pyx_10genexpr233__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, 17421, __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_newUuid, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17421, __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, 17421, __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, 17421, __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, 17421, __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":17420
 *             except ValueError:
 *                 str_list += ['oldUuid : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).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":17422
 *             try:
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['newUuid : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointGpuPair_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 17422, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/bindings/driver.pyx":17423
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).splitlines()])]
 *             except ValueError:
 *                 str_list += ['newUuid : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 17423, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_newUuid_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_newUuid_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_mstate_global->__pyx_kp_u_newUuid_ValueError) != (0)) __PYX_ERR(0, 17423, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17423, __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":17420
 *             except ValueError:
 *                 str_list += ['oldUuid : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['newUuid :\n' + '\n'.join(['    ' + line for line in str(self.newUuid).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":17424
 *             except ValueError:
 *                 str_list += ['newUuid : <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, 17424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17414
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17426
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def oldUuid(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":17413
 *     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.CUcheckpointGpuPair_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_XDECREF(__pyx_10genexpr233__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17427
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def oldUuid(self):
 *         return self._oldUuid
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17429
 *     @property
 *     def oldUuid(self):
 *         return self._oldUuid             # <<<<<<<<<<<<<<
 *     @oldUuid.setter
 *     def oldUuid(self, oldUuid not None : CUuuid):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_oldUuid);
  __pyx_r = ((PyObject *)__pyx_v_self->_oldUuid);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17427
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def oldUuid(self):
 *         return self._oldUuid
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17430
 *     def oldUuid(self):
 *         return self._oldUuid
 *     @oldUuid.setter             # <<<<<<<<<<<<<<
 *     def oldUuid(self, oldUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].oldUuid, <cydriver.CUuuid*><void_ptr>oldUuid.getPtr(), sizeof(self._pvt_ptr[0].oldUuid))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_oldUuid); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_oldUuid) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_oldUuid), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, 0, "oldUuid", 0))) __PYX_ERR(0, 17431, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_v_oldUuid));

  /* 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_22CUcheckpointGpuPair_st_7oldUuid_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_oldUuid) {
  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":17432
 *     @oldUuid.setter
 *     def oldUuid(self, oldUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].oldUuid, <cydriver.CUuuid*><void_ptr>oldUuid.getPtr(), sizeof(self._pvt_ptr[0].oldUuid))             # <<<<<<<<<<<<<<
 *     @property
 *     def newUuid(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_oldUuid);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__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, 17432, __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, 17432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).oldUuid), ((CUuuid *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).oldUuid))));

  /* "cuda/bindings/driver.pyx":17430
 *     def oldUuid(self):
 *         return self._oldUuid
 *     @oldUuid.setter             # <<<<<<<<<<<<<<
 *     def oldUuid(self, oldUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].oldUuid, <cydriver.CUuuid*><void_ptr>oldUuid.getPtr(), sizeof(self._pvt_ptr[0].oldUuid))
*/

  /* 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.CUcheckpointGpuPair_st.oldUuid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17433
 *     def oldUuid(self, oldUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].oldUuid, <cydriver.CUuuid*><void_ptr>oldUuid.getPtr(), sizeof(self._pvt_ptr[0].oldUuid))
 *     @property             # <<<<<<<<<<<<<<
 *     def newUuid(self):
 *         return self._newUuid
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17435
 *     @property
 *     def newUuid(self):
 *         return self._newUuid             # <<<<<<<<<<<<<<
 *     @newUuid.setter
 *     def newUuid(self, newUuid not None : CUuuid):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_newUuid);
  __pyx_r = ((PyObject *)__pyx_v_self->_newUuid);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17433
 *     def oldUuid(self, oldUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].oldUuid, <cydriver.CUuuid*><void_ptr>oldUuid.getPtr(), sizeof(self._pvt_ptr[0].oldUuid))
 *     @property             # <<<<<<<<<<<<<<
 *     def newUuid(self):
 *         return self._newUuid
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17436
 *     def newUuid(self):
 *         return self._newUuid
 *     @newUuid.setter             # <<<<<<<<<<<<<<
 *     def newUuid(self, newUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].newUuid, <cydriver.CUuuid*><void_ptr>newUuid.getPtr(), sizeof(self._pvt_ptr[0].newUuid))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_newUuid); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_newUuid) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_newUuid), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, 0, "newUuid", 0))) __PYX_ERR(0, 17437, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_v_newUuid));

  /* 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_22CUcheckpointGpuPair_st_7newUuid_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *__pyx_v_newUuid) {
  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":17438
 *     @newUuid.setter
 *     def newUuid(self, newUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].newUuid, <cydriver.CUuuid*><void_ptr>newUuid.getPtr(), sizeof(self._pvt_ptr[0].newUuid))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUcheckpointRestoreArgs_st:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_newUuid);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__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, 17438, __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, 17438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).newUuid), ((CUuuid *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).newUuid))));

  /* "cuda/bindings/driver.pyx":17436
 *     def newUuid(self):
 *         return self._newUuid
 *     @newUuid.setter             # <<<<<<<<<<<<<<
 *     def newUuid(self, newUuid not None : CUuuid):
 *         string.memcpy(&self._pvt_ptr[0].newUuid, <cydriver.CUuuid*><void_ptr>newUuid.getPtr(), sizeof(self._pvt_ptr[0].newUuid))
*/

  /* 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.CUcheckpointGpuPair_st.newUuid.__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_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_10__reduce_cython__, "CUcheckpointGpuPair_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUcheckpointGpuPair_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_22CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_12__setstate_cython__, "CUcheckpointGpuPair_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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.CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUcheckpointGpuPair_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":17461
 *         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, 17461, __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, 17461, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17461, __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, 17461, __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, 17461, __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, 17461, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17462
 *     """
 *     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":17463
 *     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":17462
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17465
 *             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":17461
 *         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":17466
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointRestoreArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._reserved1 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].reserved1)
*/

/* 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, 17466, __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, 17466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17466, __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, 17466, __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, 17466, __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, 17466, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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__(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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17468
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._reserved1 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].reserved1)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 17468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17468, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17468, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_reserved1);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_reserved1);
  __pyx_v_self->_reserved1 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17466
 *         else:
 *             self._pvt_ptr = <cydriver.CUcheckpointRestoreArgs_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._reserved1 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17469
 *         pass
 *         self._reserved1 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].reserved1)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._gpuPairs is not NULL:
*/

/* 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__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  int __pyx_t_1;

  /* "cuda/bindings/driver.pyx":17471
 *     def __dealloc__(self):
 *         pass
 *         if self._gpuPairs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._gpuPairs)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_gpuPairs != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17472
 *         pass
 *         if self._gpuPairs is not NULL:
 *             free(self._gpuPairs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_gpuPairs);

    /* "cuda/bindings/driver.pyx":17471
 *     def __dealloc__(self):
 *         pass
 *         if self._gpuPairs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._gpuPairs)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":17469
 *         pass
 *         self._reserved1 = cuuint64_t(_ptr=<void_ptr>&self._pvt_ptr[0].reserved1)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *         if self._gpuPairs is not NULL:
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17473
 *         if self._gpuPairs is not NULL:
 *             free(self._gpuPairs)
 *     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":17474
 *             free(self._gpuPairs)
 *     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, 17474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17473
 *         if self._gpuPairs is not NULL:
 *             free(self._gpuPairs)
 *     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":17475
 *     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":17476
 *         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":17477
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17478
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17479
 *             str_list = []
 *             try:
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gpuPairs : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gpuPairs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17479, __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, 17479, __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_gpuPairs, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17479, __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, 17479, __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, 17479, __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, 17479, __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":17478
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":17480
 *             try:
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairs : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17480, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17481
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
 *             except ValueError:
 *                 str_list += ['gpuPairs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17481, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gpuPairs_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gpuPairs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_gpuPairs_ValueError) != (0)) __PYX_ERR(0, 17481, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17481, __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":17478
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairs : ' + str(self.gpuPairs)]
 *             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":17482
 *             except ValueError:
 *                 str_list += ['gpuPairs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
 *             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":17483
 *                 str_list += ['gpuPairs : <ValueError>']
 *             try:
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['gpuPairsCount : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_gpuPairsCount_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17483, __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, 17483, __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_gpuPairsCount, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17483, __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, 17483, __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, 17483, __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, 17483, __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":17482
 *             except ValueError:
 *                 str_list += ['gpuPairs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
 *             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":17484
 *             try:
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairsCount : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17484, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17485
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
 *             except ValueError:
 *                 str_list += ['gpuPairsCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17485, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_gpuPairsCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_gpuPairsCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_gpuPairsCount_ValueError) != (0)) __PYX_ERR(0, 17485, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17485, __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":17482
 *             except ValueError:
 *                 str_list += ['gpuPairs : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuPairsCount : ' + str(self.gpuPairsCount)]
 *             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":17486
 *             except ValueError:
 *                 str_list += ['gpuPairsCount : <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":17487
 *                 str_list += ['gpuPairsCount : <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, 17487, __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, 17487, __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, 17487, __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, 17487, __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, 17487, __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, 17487, __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":17486
 *             except ValueError:
 *                 str_list += ['gpuPairsCount : <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":17488
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17488, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17489
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17489, __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, 17489, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17489, __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":17486
 *             except ValueError:
 *                 str_list += ['gpuPairsCount : <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":17490
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(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":17491
 *                 str_list += ['reserved : <ValueError>']
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_reserved1_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17491, __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, 17491, __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_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17491, __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, 17491, __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, 17491, __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, 17491, __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":17490
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(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_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":17492
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17492, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17493
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:
 *                 str_list += ['reserved1 : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17493, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError) != (0)) __PYX_ERR(0, 17493, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17493, __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":17490
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             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":17494
 *             except ValueError:
 *                 str_list += ['reserved1 : <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, 17494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17476
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17496
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def gpuPairs(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":17475
 *     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":17497
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuPairs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_8gpuPairs___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_8gpuPairs___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr234__pyx_v_x;
  PyObject *__pyx_10genexpr235__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17499
 *     @property
 *     def gpuPairs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_length)]             # <<<<<<<<<<<<<<
 *         return [CUcheckpointGpuPair(_ptr=arr) for arr in arrs]
 *     @gpuPairs.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_gpuPairs_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr234__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]).gpuPairs) + (__pyx_10genexpr234__pyx_v_x * (sizeof(CUcheckpointGpuPair))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17499, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17499, __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":17500
 *     def gpuPairs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_length)]
 *         return [CUcheckpointGpuPair(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @gpuPairs.setter
 *     def gpuPairs(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17500, __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, 17500, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17500, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr235__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17500, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr235__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17500, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 17500, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 17500, __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_10genexpr235__pyx_v_arr); __pyx_10genexpr235__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr235__pyx_v_arr); __pyx_10genexpr235__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":17497
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuPairs(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_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_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.gpuPairs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr235__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17501
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_length)]
 *         return [CUcheckpointGpuPair(_ptr=arr) for arr in arrs]
 *     @gpuPairs.setter             # <<<<<<<<<<<<<<
 *     def gpuPairs(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_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_26CUcheckpointRestoreArgs_st_8gpuPairs_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_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;
  size_t __pyx_t_8;
  CUcheckpointGpuPair *__pyx_t_9;
  Py_ssize_t __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":17503
 *     @gpuPairs.setter
 *     def gpuPairs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._gpuPairs)
 *             self._gpuPairs_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17503, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":17504
 *     def gpuPairs(self, val):
 *         if len(val) == 0:
 *             free(self._gpuPairs)             # <<<<<<<<<<<<<<
 *             self._gpuPairs_length = 0
 *             self._pvt_ptr[0].gpuPairs = NULL
*/
    free(__pyx_v_self->_gpuPairs);

    /* "cuda/bindings/driver.pyx":17505
 *         if len(val) == 0:
 *             free(self._gpuPairs)
 *             self._gpuPairs_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].gpuPairs = NULL
 *         else:
*/
    __pyx_v_self->_gpuPairs_length = 0;

    /* "cuda/bindings/driver.pyx":17506
 *             free(self._gpuPairs)
 *             self._gpuPairs_length = 0
 *             self._pvt_ptr[0].gpuPairs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._gpuPairs_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).gpuPairs = NULL;

    /* "cuda/bindings/driver.pyx":17503
 *     @gpuPairs.setter
 *     def gpuPairs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._gpuPairs)
 *             self._gpuPairs_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17508
 *             self._pvt_ptr[0].gpuPairs = NULL
 *         else:
 *             if self._gpuPairs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._gpuPairs)
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17508, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_gpuPairs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":17509
 *         else:
 *             if self._gpuPairs_length != <size_t>len(val):
 *                 free(self._gpuPairs)             # <<<<<<<<<<<<<<
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
 *                 if self._gpuPairs is NULL:
*/
      free(__pyx_v_self->_gpuPairs);

      /* "cuda/bindings/driver.pyx":17510
 *             if self._gpuPairs_length != <size_t>len(val):
 *                 free(self._gpuPairs)
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))             # <<<<<<<<<<<<<<
 *                 if self._gpuPairs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17510, __pyx_L1_error)
      __pyx_v_self->_gpuPairs = ((CUcheckpointGpuPair *)calloc(__pyx_t_1, (sizeof(CUcheckpointGpuPair))));

      /* "cuda/bindings/driver.pyx":17511
 *                 free(self._gpuPairs)
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
 *                 if self._gpuPairs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))
 *                 self._gpuPairs_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_gpuPairs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":17512
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
 *                 if self._gpuPairs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))             # <<<<<<<<<<<<<<
 *                 self._gpuPairs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].gpuPairs = self._gpuPairs
*/
        __pyx_t_4 = NULL;
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17512, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17512, __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, 17512, __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, 17512, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17512, __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(CUcheckpointGpuPair))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17512, __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, 17512, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17512, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17512, __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, 17512, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":17511
 *                 free(self._gpuPairs)
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
 *                 if self._gpuPairs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))
 *                 self._gpuPairs_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":17513
 *                 if self._gpuPairs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))
 *                 self._gpuPairs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].gpuPairs = self._gpuPairs
 *             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, 17513, __pyx_L1_error)
      __pyx_v_self->_gpuPairs_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":17514
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUcheckpointGpuPair)))
 *                 self._gpuPairs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].gpuPairs = self._gpuPairs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._gpuPairs[idx], (<CUcheckpointGpuPair>val[idx])._pvt_ptr, sizeof(cydriver.CUcheckpointGpuPair))
*/
      __pyx_t_9 = __pyx_v_self->_gpuPairs;
      (__pyx_v_self->_pvt_ptr[0]).gpuPairs = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":17508
 *             self._pvt_ptr[0].gpuPairs = NULL
 *         else:
 *             if self._gpuPairs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._gpuPairs)
 *                 self._gpuPairs = <cydriver.CUcheckpointGpuPair*> calloc(len(val), sizeof(cydriver.CUcheckpointGpuPair))
*/
    }

    /* "cuda/bindings/driver.pyx":17515
 *                 self._gpuPairs_length = <size_t>len(val)
 *                 self._pvt_ptr[0].gpuPairs = self._gpuPairs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._gpuPairs[idx], (<CUcheckpointGpuPair>val[idx])._pvt_ptr, sizeof(cydriver.CUcheckpointGpuPair))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17515, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":17516
 *                 self._pvt_ptr[0].gpuPairs = self._gpuPairs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._gpuPairs[idx], (<CUcheckpointGpuPair>val[idx])._pvt_ptr, sizeof(cydriver.CUcheckpointGpuPair))             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_gpuPairs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair *)__pyx_t_3)->__pyx_base._pvt_ptr, (sizeof(CUcheckpointGpuPair))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17501
 *         arrs = [<void_ptr>self._pvt_ptr[0].gpuPairs + x*sizeof(cydriver.CUcheckpointGpuPair) for x in range(self._gpuPairs_length)]
 *         return [CUcheckpointGpuPair(_ptr=arr) for arr in arrs]
 *     @gpuPairs.setter             # <<<<<<<<<<<<<<
 *     def gpuPairs(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_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.gpuPairs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17518
 *                 string.memcpy(&self._gpuPairs[idx], (<CUcheckpointGpuPair>val[idx])._pvt_ptr, sizeof(cydriver.CUcheckpointGpuPair))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuPairsCount(self):
 *         return self._pvt_ptr[0].gpuPairsCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_13gpuPairsCount___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_13gpuPairsCount___get__(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("__get__", 0);

  /* "cuda/bindings/driver.pyx":17520
 *     @property
 *     def gpuPairsCount(self):
 *         return self._pvt_ptr[0].gpuPairsCount             # <<<<<<<<<<<<<<
 *     @gpuPairsCount.setter
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).gpuPairsCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17518
 *                 string.memcpy(&self._gpuPairs[idx], (<CUcheckpointGpuPair>val[idx])._pvt_ptr, sizeof(cydriver.CUcheckpointGpuPair))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuPairsCount(self):
 *         return self._pvt_ptr[0].gpuPairsCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.gpuPairsCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17521
 *     def gpuPairsCount(self):
 *         return self._pvt_ptr[0].gpuPairsCount
 *     @gpuPairsCount.setter             # <<<<<<<<<<<<<<
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
 *         self._pvt_ptr[0].gpuPairsCount = gpuPairsCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gpuPairsCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gpuPairsCount) {
  unsigned int __pyx_v_gpuPairsCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_gpuPairsCount); {
    __pyx_v_gpuPairsCount = __Pyx_PyLong_As_unsigned_int(__pyx_arg_gpuPairsCount); if (unlikely((__pyx_v_gpuPairsCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17522, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.gpuPairsCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), ((unsigned int)__pyx_v_gpuPairsCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, unsigned int __pyx_v_gpuPairsCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17523
 *     @gpuPairsCount.setter
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
 *         self._pvt_ptr[0].gpuPairsCount = gpuPairsCount             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).gpuPairsCount = __pyx_v_gpuPairsCount;

  /* "cuda/bindings/driver.pyx":17521
 *     def gpuPairsCount(self):
 *         return self._pvt_ptr[0].gpuPairsCount
 *     @gpuPairsCount.setter             # <<<<<<<<<<<<<<
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
 *         self._pvt_ptr[0].gpuPairsCount = gpuPairsCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17524
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
 *         self._pvt_ptr[0].gpuPairsCount = gpuPairsCount
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 44)
*/

/* 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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17526
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 44)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_pvt_ptr[0]).reserved, 44); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17524
 *     def gpuPairsCount(self, unsigned int gpuPairsCount):
 *         self._pvt_ptr[0].gpuPairsCount = gpuPairsCount
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 44)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __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":17527
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 44)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 44:
*/

/* 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) {
  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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_t_9;
  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":17529
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 44:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 44, 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, 17529, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 44);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17530
 *     def reserved(self, reserved):
 *         if len(reserved) != 44:
 *             raise ValueError("reserved length must be 44, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
*/
    __pyx_t_4 = NULL;
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17530, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17530, __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, 17530, __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_reserved_length_must_be_44_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 17530, __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, 17530, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17529
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 44:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 44, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
*/
  }

  /* "cuda/bindings/driver.pyx":17531
 *         if len(reserved) != 44:
 *             raise ValueError("reserved length must be 44, 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":17532
 *             raise ValueError("reserved length must be 44, 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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17532, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17532, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 17532, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 17532, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17532, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 17532, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17532, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":17533
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17533, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 17533, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17533, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 17533, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":17534
 *             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_4 = __Pyx_PyLong_AddObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17534, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":17533
 *         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":17535
 *                 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_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17535, __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, 17535, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":17532
 *             raise ValueError("reserved length must be 44, 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":17531
 *         if len(reserved) != 44:
 *             raise ValueError("reserved length must be 44, 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":17537
 *                 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_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17537, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 17537, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 17537, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17537, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_5);
        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, 17537, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "cuda/bindings/driver.pyx":17538
 *         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_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17538, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 17538, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_9) {
      } else {
        __pyx_t_2 = __pyx_t_9;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17538, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 17538, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_2 = __pyx_t_9;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/bindings/driver.pyx":17539
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].reserved[i] = b
 *     @property
*/
        __pyx_t_4 = __Pyx_PyLong_SubtractObjC(__pyx_v_b, __pyx_mstate_global->__pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17539, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "cuda/bindings/driver.pyx":17538
 *         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":17540
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved1(self):
*/
      __pyx_t_10 = __Pyx_PyLong_As_char(__pyx_v_b); if (unlikely((__pyx_t_10 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17540, __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, 17540, __pyx_L1_error)
      ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_11]) = __pyx_t_10;

      /* "cuda/bindings/driver.pyx":17537
 *                 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":17527
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._pvt_ptr[0].reserved, 44)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 44:
*/

  /* 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.CUcheckpointRestoreArgs_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;
}

/* "cuda/bindings/driver.pyx":17541
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._reserved1
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_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_26CUcheckpointRestoreArgs_st_9reserved1___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_9reserved1___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17543
 *     @property
 *     def reserved1(self):
 *         return self._reserved1             # <<<<<<<<<<<<<<
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_reserved1);
  __pyx_r = ((PyObject *)__pyx_v_self->_reserved1);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17541
 *                     b = b - 256
 *                 self._pvt_ptr[0].reserved[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._reserved1
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17544
 *     def reserved1(self):
 *         return self._reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         cdef cydriver.cuuint64_t cyreserved1
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_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_26CUcheckpointRestoreArgs_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  cuuint64_t __pyx_v_cyreserved1;
  PyObject *__pyx_v_preserved1 = 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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17547
 *     def reserved1(self, reserved1):
 *         cdef cydriver.cuuint64_t cyreserved1
 *         if reserved1 is None:             # <<<<<<<<<<<<<<
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(reserved1, (cuuint64_t)):
*/
  __pyx_t_1 = (__pyx_v_reserved1 == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17548
 *         cdef cydriver.cuuint64_t cyreserved1
 *         if reserved1 is None:
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(reserved1, (cuuint64_t)):
 *             preserved1 = int(reserved1)
*/
    __pyx_v_cyreserved1 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":17547
 *     def reserved1(self, reserved1):
 *         cdef cydriver.cuuint64_t cyreserved1
 *         if reserved1 is None:             # <<<<<<<<<<<<<<
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(reserved1, (cuuint64_t)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17549
 *         if reserved1 is None:
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(reserved1, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             preserved1 = int(reserved1)
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_reserved1, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17550
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(reserved1, (cuuint64_t)):
 *             preserved1 = int(reserved1)             # <<<<<<<<<<<<<<
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_reserved1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_preserved1 = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17551
 *         elif isinstance(reserved1, (cuuint64_t)):
 *             preserved1 = int(reserved1)
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1             # <<<<<<<<<<<<<<
 *         else:
 *             preserved1 = int(cuuint64_t(reserved1))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_preserved1); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17551, __pyx_L1_error)
    __pyx_v_cyreserved1 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":17549
 *         if reserved1 is None:
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>0
 *         elif isinstance(reserved1, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             preserved1 = int(reserved1)
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17553
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
 *         else:
 *             preserved1 = int(cuuint64_t(reserved1))             # <<<<<<<<<<<<<<
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
 *         self._reserved1._pvt_ptr[0] = cyreserved1
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_reserved1};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17553, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_preserved1 = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":17554
 *         else:
 *             preserved1 = int(cuuint64_t(reserved1))
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1             # <<<<<<<<<<<<<<
 *         self._reserved1._pvt_ptr[0] = cyreserved1
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_preserved1); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17554, __pyx_L1_error)
    __pyx_v_cyreserved1 = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17555
 *             preserved1 = int(cuuint64_t(reserved1))
 *             cyreserved1 = <cydriver.cuuint64_t><void_ptr>preserved1
 *         self._reserved1._pvt_ptr[0] = cyreserved1             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (__pyx_v_self->_reserved1->_pvt_ptr[0]) = __pyx_v_cyreserved1;

  /* "cuda/bindings/driver.pyx":17544
 *     def reserved1(self):
 *         return self._reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         cdef cydriver.cuuint64_t cyreserved1
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUcheckpointRestoreArgs_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_preserved1);
  __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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17572
 *         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, 17572, __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, 17572, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17572, __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, 17572, __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, 17572, __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, 17572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17573
 *     """
 *     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":17574
 *     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":17573
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17576
 *             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":17572
 *         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":17577
 *         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, 17577, __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, 17577, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17577, __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, 17577, __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, 17577, __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, 17577, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17579
 *     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":17581
 *     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":17582
 *         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, 17582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17581
 *     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":17583
 *     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":17584
 *         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":17585
 *     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, 17585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17586
 *         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":17587
 *             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, 17587, __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, 17587, __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, 17587, __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, 17587, __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, 17587, __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, 17587, __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":17586
 *         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":17588
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17588, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17589
 *                 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, 17589, __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, 17589, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17589, __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":17586
 *         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":17590
 *             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, 17590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17584
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17592
 *             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":17583
 *     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":17593
 *         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_10genexpr236__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;
  size_t __pyx_t_8;
  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":17595
 *     @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, 17595, __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_10genexpr236__pyx_v__reserved = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_uint64_t(__pyx_10genexpr236__pyx_v__reserved); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17595, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17595, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17595, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17595, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17595, __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":17593
 *         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_9);
  __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":17596
 *     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":17598
 *     @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, 17598, __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":17596
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17637
 *         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, 17637, __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, 17637, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17637, __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, 17637, __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, 17637, __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, 17637, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17638
 *     """
 *     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":17639
 *     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":17638
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17641
 *             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":17637
 *         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":17642
 *         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, 17642, __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, 17642, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17642, __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, 17642, __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, 17642, __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, 17642, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17644
 *     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":17646
 *     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":17647
 *         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, 17647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17646
 *     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":17648
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":17649
 *         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":17650
 *     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, 17650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17651
 *         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":17652
 *             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, 17652, __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, 17652, __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, 17652, __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, 17652, __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, 17652, __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, 17652, __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":17651
 *         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":17653
 *             try:
 *                 str_list += ['srcNumBytes : ' + str(self.srcNumBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcNumBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17653, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17654
 *                 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, 17654, __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, 17654, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17654, __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":17651
 *         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":17655
 *             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":17656
 *                 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, 17656, __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, 17656, __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, 17656, __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, 17656, __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, 17656, __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, 17656, __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":17655
 *             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":17657
 *             try:
 *                 str_list += ['dstNumBytes : ' + str(self.dstNumBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstNumBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17657, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17658
 *                 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, 17658, __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, 17658, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17658, __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":17655
 *             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":17659
 *             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":17660
 *                 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, 17660, __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, 17660, __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, 17660, __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, 17660, __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, 17660, __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, 17660, __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":17659
 *             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":17661
 *             try:
 *                 str_list += ['dstActBytes : ' + str(self.dstActBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17661, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17662
 *                 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, 17662, __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, 17662, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17662, __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":17659
 *             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":17663
 *             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":17664
 *                 str_list += ['dstActBytes : <ValueError>']
 *             try:
 *                 str_list += ['src : ' + hex(self.src)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_src_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17664, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17664, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_src_3, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17664, __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, 17664, __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, 17664, __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, 17664, __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":17663
 *             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":17665
 *             try:
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['src : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17665, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17666
 *                 str_list += ['src : ' + hex(self.src)]
 *             except ValueError:
 *                 str_list += ['src : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dst : ' + hex(self.dst)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17666, __pyx_L30_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, 17666, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17666, __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":17663
 *             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":17667
 *             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":17668
 *                 str_list += ['src : <ValueError>']
 *             try:
 *                 str_list += ['dst : ' + hex(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, 17668, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17668, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_dst, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17668, __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, 17668, __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, 17668, __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, 17668, __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":17667
 *             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":17669
 *             try:
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17669, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17670
 *                 str_list += ['dst : ' + hex(self.dst)]
 *             except ValueError:
 *                 str_list += ['dst : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17670, __pyx_L38_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, 17670, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17670, __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":17667
 *             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":17671
 *             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":17672
 *                 str_list += ['dst : <ValueError>']
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_algo_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17672, __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, 17672, __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_algo, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17672, __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, 17672, __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, 17672, __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, 17672, __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":17671
 *             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":17673
 *             try:
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['algo : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17673, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17674
 *                 str_list += ['algo : ' + str(self.algo)]
 *             except ValueError:
 *                 str_list += ['algo : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['padding : ' + str(self.padding)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17674, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_algo_ValueError) != (0)) __PYX_ERR(0, 17674, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17674, __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":17671
 *             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":17675
 *             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":17676
 *                 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, 17676, __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, 17676, __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_padding, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17676, __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, 17676, __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, 17676, __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, 17676, __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":17675
 *             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":17677
 *             try:
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['padding : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17677, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17678
 *                 str_list += ['padding : ' + str(self.padding)]
 *             except ValueError:
 *                 str_list += ['padding : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17678, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __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_9, 0, __pyx_mstate_global->__pyx_kp_u_padding_ValueError) != (0)) __PYX_ERR(0, 17678, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17678, __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":17675
 *             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":17679
 *             except ValueError:
 *                 str_list += ['padding : <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, 17679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17649
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17681
 *             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":17648
 *     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":17682
 *         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":17684
 *     @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, 17684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17682
 *         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":17685
 *     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, 17686, __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":17687
 *     @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":17685
 *     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":17688
 *     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":17690
 *     @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, 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":17688
 *     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":17691
 *     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, 17692, __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":17693
 *     @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":17691
 *     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":17694
 *     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;
  size_t __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":17696
 *     @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_t_3 = __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_3)) __PYX_ERR(0, 17696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17696, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17696, __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":17694
 *     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_5);
  __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":17697
 *     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":17699
 *     @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, 17699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17697
 *     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":17700
 *     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;
  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":17702
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_src};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17702, __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":17703
 *     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, 17703, __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, 17703, __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_4));

  /* "cuda/bindings/driver.pyx":17700
 *     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_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":17704
 *         _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":17706
 *     @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, 17706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17704
 *         _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":17707
 *     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;
  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":17709
 *     @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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17709, __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":17710
 *     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, 17710, __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, 17710, __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_4));

  /* "cuda/bindings/driver.pyx":17707
 *     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_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":17711
 *         _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":17713
 *     @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, 17713, __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, 17713, __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, 17713, __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":17714
 *     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":17713
 *     @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":17715
 *         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, 17715, __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, 17715, __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, 17715, __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":17711
 *         _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":17716
 *             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, 17717, __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":17718
 *     @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, 17718, __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, 17718, __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":17716
 *             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":17719
 *     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":17721
 *     @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, 17721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17719
 *     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":17722
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17724
 *     @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, 17724, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 20);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17725
 *     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_t_1 = PyObject_Length(__pyx_v_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17725, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17725, __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, 17725, __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_padding_length_must_be_20_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 17725, __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, 17725, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17724
 *     @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":17726
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_padding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17726, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 17726, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 17726, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17726, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 17726, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":17727
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17727, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17727, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).padding[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":17726
 *         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":17722
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17752
 *         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, 17752, __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, 17752, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17752, __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, 17752, __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, 17752, __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, 17752, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17753
 *     """
 *     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":17754
 *     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":17753
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17756
 *             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":17752
 *         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":17757
 *         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, 17757, __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, 17757, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17757, __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, 17757, __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, 17757, __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, 17757, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":17759
 *     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":17761
 *     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":17762
 *         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, 17762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17761
 *     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":17763
 *     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":17764
 *         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":17765
 *     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, 17765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17766
 *         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":17767
 *             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, 17767, __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, 17767, __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, 17767, __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, 17767, __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, 17767, __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, 17767, __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":17766
 *         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":17768
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17768, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17769
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17769, __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, 17769, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17769, __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":17766
 *         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":17770
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
 *             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":17771
 *                 str_list += ['smCount : <ValueError>']
 *             try:
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['minSmPartitionSize : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_minSmPartitionSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17771, __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, 17771, __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_minSmPartitionSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17771, __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, 17771, __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, 17771, __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, 17771, __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":17770
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
 *             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":17772
 *             try:
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['minSmPartitionSize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17772, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17773
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
 *             except ValueError:
 *                 str_list += ['minSmPartitionSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17773, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_minSmPartitionSize_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_minSmPartitionSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_minSmPartitionSize_ValueError) != (0)) __PYX_ERR(0, 17773, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17773, __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":17770
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['minSmPartitionSize : ' + str(self.minSmPartitionSize)]
 *             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":17774
 *             except ValueError:
 *                 str_list += ['minSmPartitionSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17775
 *                 str_list += ['minSmPartitionSize : <ValueError>']
 *             try:
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['smCoscheduledAlignment : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_smCoscheduledAlignment_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17775, __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, 17775, __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_smCoscheduledAlignment, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17775, __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, 17775, __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, 17775, __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, 17775, __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":17774
 *             except ValueError:
 *                 str_list += ['minSmPartitionSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":17776
 *             try:
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCoscheduledAlignment : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 17776, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17777
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
 *             except ValueError:
 *                 str_list += ['smCoscheduledAlignment : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17777, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_smCoscheduledAlignment_ValueErro);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_smCoscheduledAlignment_ValueErro);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_smCoscheduledAlignment_ValueErro) != (0)) __PYX_ERR(0, 17777, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17777, __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":17774
 *             except ValueError:
 *                 str_list += ['minSmPartitionSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCoscheduledAlignment : ' + str(self.smCoscheduledAlignment)]
 *             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":17778
 *             except ValueError:
 *                 str_list += ['smCoscheduledAlignment : <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":17779
 *                 str_list += ['smCoscheduledAlignment : <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, 17779, __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, 17779, __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, 17779, __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, 17779, __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, 17779, __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, 17779, __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":17778
 *             except ValueError:
 *                 str_list += ['smCoscheduledAlignment : <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":17780
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17780, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17781
 *                 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, 17781, __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, 17781, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17781, __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":17778
 *             except ValueError:
 *                 str_list += ['smCoscheduledAlignment : <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":17782
 *             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, 17782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17764
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17784
 *             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":17763
 *     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":17785
 *         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":17787
 *     @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, 17787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17785
 *         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":17788
 *     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, 17789, __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":17790
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount             # <<<<<<<<<<<<<<
 *     @property
 *     def minSmPartitionSize(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).smCount = __pyx_v_smCount;

  /* "cuda/bindings/driver.pyx":17788
 *     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;
}

/* "cuda/bindings/driver.pyx":17791
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
 *     @property             # <<<<<<<<<<<<<<
 *     def minSmPartitionSize(self):
 *         return self._pvt_ptr[0].minSmPartitionSize
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_18minSmPartitionSize___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_18minSmPartitionSize___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":17793
 *     @property
 *     def minSmPartitionSize(self):
 *         return self._pvt_ptr[0].minSmPartitionSize             # <<<<<<<<<<<<<<
 *     @minSmPartitionSize.setter
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).minSmPartitionSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17793, __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 smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
 *     @property             # <<<<<<<<<<<<<<
 *     def minSmPartitionSize(self):
 *         return self._pvt_ptr[0].minSmPartitionSize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.minSmPartitionSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17794
 *     def minSmPartitionSize(self):
 *         return self._pvt_ptr[0].minSmPartitionSize
 *     @minSmPartitionSize.setter             # <<<<<<<<<<<<<<
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
 *         self._pvt_ptr[0].minSmPartitionSize = minSmPartitionSize
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minSmPartitionSize); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minSmPartitionSize) {
  unsigned int __pyx_v_minSmPartitionSize;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_minSmPartitionSize); {
    __pyx_v_minSmPartitionSize = __Pyx_PyLong_As_unsigned_int(__pyx_arg_minSmPartitionSize); if (unlikely((__pyx_v_minSmPartitionSize == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17795, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.minSmPartitionSize.__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_18minSmPartitionSize_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_minSmPartitionSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_minSmPartitionSize) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17796
 *     @minSmPartitionSize.setter
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
 *         self._pvt_ptr[0].minSmPartitionSize = minSmPartitionSize             # <<<<<<<<<<<<<<
 *     @property
 *     def smCoscheduledAlignment(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).minSmPartitionSize = __pyx_v_minSmPartitionSize;

  /* "cuda/bindings/driver.pyx":17794
 *     def minSmPartitionSize(self):
 *         return self._pvt_ptr[0].minSmPartitionSize
 *     @minSmPartitionSize.setter             # <<<<<<<<<<<<<<
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
 *         self._pvt_ptr[0].minSmPartitionSize = minSmPartitionSize
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17797
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
 *         self._pvt_ptr[0].minSmPartitionSize = minSmPartitionSize
 *     @property             # <<<<<<<<<<<<<<
 *     def smCoscheduledAlignment(self):
 *         return self._pvt_ptr[0].smCoscheduledAlignment
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_22smCoscheduledAlignment___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_22smCoscheduledAlignment___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":17799
 *     @property
 *     def smCoscheduledAlignment(self):
 *         return self._pvt_ptr[0].smCoscheduledAlignment             # <<<<<<<<<<<<<<
 *     @smCoscheduledAlignment.setter
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).smCoscheduledAlignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17797
 *     def minSmPartitionSize(self, unsigned int minSmPartitionSize):
 *         self._pvt_ptr[0].minSmPartitionSize = minSmPartitionSize
 *     @property             # <<<<<<<<<<<<<<
 *     def smCoscheduledAlignment(self):
 *         return self._pvt_ptr[0].smCoscheduledAlignment
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.smCoscheduledAlignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17800
 *     def smCoscheduledAlignment(self):
 *         return self._pvt_ptr[0].smCoscheduledAlignment
 *     @smCoscheduledAlignment.setter             # <<<<<<<<<<<<<<
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
 *         self._pvt_ptr[0].smCoscheduledAlignment = smCoscheduledAlignment
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCoscheduledAlignment); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCoscheduledAlignment) {
  unsigned int __pyx_v_smCoscheduledAlignment;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_smCoscheduledAlignment); {
    __pyx_v_smCoscheduledAlignment = __Pyx_PyLong_As_unsigned_int(__pyx_arg_smCoscheduledAlignment); if (unlikely((__pyx_v_smCoscheduledAlignment == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17801, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_st.smCoscheduledAlignment.__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_22smCoscheduledAlignment_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_smCoscheduledAlignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCoscheduledAlignment) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17802
 *     @smCoscheduledAlignment.setter
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
 *         self._pvt_ptr[0].smCoscheduledAlignment = smCoscheduledAlignment             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).smCoscheduledAlignment = __pyx_v_smCoscheduledAlignment;

  /* "cuda/bindings/driver.pyx":17800
 *     def smCoscheduledAlignment(self):
 *         return self._pvt_ptr[0].smCoscheduledAlignment
 *     @smCoscheduledAlignment.setter             # <<<<<<<<<<<<<<
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
 *         self._pvt_ptr[0].smCoscheduledAlignment = smCoscheduledAlignment
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17803
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
 *         self._pvt_ptr[0].smCoscheduledAlignment = smCoscheduledAlignment
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_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_18CUdevSmResource_st_5flags___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_5flags___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":17805
 *     @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, 17805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17803
 *     def smCoscheduledAlignment(self, unsigned int smCoscheduledAlignment):
 *         self._pvt_ptr[0].smCoscheduledAlignment = smCoscheduledAlignment
 *     @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.CUdevSmResource_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":17806
 *     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_18CUdevSmResource_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_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, 17807, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevSmResource_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_18CUdevSmResource_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17808
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._pvt_ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevWorkqueueConfigResource_st:
*/
  (__pyx_v_self->_pvt_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/bindings/driver.pyx":17806
 *     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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":17826
 *         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_31CUdevWorkqueueConfigResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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, 17826, __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, 17826, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17826, __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, 17826, __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, 17826, __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, 17826, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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":17827
 *     """
 *     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":17828
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueConfigResource_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17827
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17830
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueConfigResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUdevWorkqueueConfigResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17826
 *         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":17831
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueConfigResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._device = CUdevice(_ptr=<void_ptr>&self._pvt_ptr[0].device)
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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, 17831, __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, 17831, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17831, __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, 17831, __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, 17831, __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, 17831, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_2__init__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":17833
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._device = CUdevice(_ptr=<void_ptr>&self._pvt_ptr[0].device)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).device))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 17833, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 17833, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_device);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_device);
  __pyx_v_self->_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":17831
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueConfigResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *         self._device = CUdevice(_ptr=<void_ptr>&self._pvt_ptr[0].device)
*/

  /* 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_5);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17834
 *         pass
 *         self._device = CUdevice(_ptr=<void_ptr>&self._pvt_ptr[0].device)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17836
 *     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_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_6getPtr, "CUdevWorkqueueConfigResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self) {
  PyObject *__pyx_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":17837
 *         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, 17837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17836
 *     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.CUdevWorkqueueConfigResource_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":17838
 *     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_31CUdevWorkqueueConfigResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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":17839
 *         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":17840
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['device : ' + str(self.device)]
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17841
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['device : ' + str(self.device)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17842
 *             str_list = []
 *             try:
 *                 str_list += ['device : ' + str(self.device)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['device : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_device_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17842, __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, 17842, __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_device, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17842, __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, 17842, __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, 17842, __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, 17842, __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":17841
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['device : ' + str(self.device)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":17843
 *             try:
 *                 str_list += ['device : ' + str(self.device)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['device : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17843, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17844
 *                 str_list += ['device : ' + str(self.device)]
 *             except ValueError:
 *                 str_list += ['device : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17844, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_device_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_device_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_device_ValueError) != (0)) __PYX_ERR(0, 17844, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17844, __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":17841
 *         if self._pvt_ptr is not NULL:
 *             str_list = []
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['device : ' + str(self.device)]
 *             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":17845
 *             except ValueError:
 *                 str_list += ['device : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
 *             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":17846
 *                 str_list += ['device : <ValueError>']
 *             try:
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_wqConcurrencyLimit_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17846, __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, 17846, __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_wqConcurrencyLimit, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17846, __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, 17846, __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, 17846, __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, 17846, __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":17845
 *             except ValueError:
 *                 str_list += ['device : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
 *             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":17847
 *             try:
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 17847, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17848
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
 *             except ValueError:
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17848, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_wqConcurrencyLimit_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_wqConcurrencyLimit_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_wqConcurrencyLimit_ValueError) != (0)) __PYX_ERR(0, 17848, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17848, __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":17845
 *             except ValueError:
 *                 str_list += ['device : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConcurrencyLimit : ' + str(self.wqConcurrencyLimit)]
 *             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":17849
 *             except ValueError:
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17850
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
 *             try:
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['sharingScope : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_sharingScope_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17850, __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, 17850, __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_sharingScope, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17850, __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, 17850, __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, 17850, __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, 17850, __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":17849
 *             except ValueError:
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":17851
 *             try:
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharingScope : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17851, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17852
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
 *             except ValueError:
 *                 str_list += ['sharingScope : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17852, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_sharingScope_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_sharingScope_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_sharingScope_ValueError) != (0)) __PYX_ERR(0, 17852, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17852, __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":17849
 *             except ValueError:
 *                 str_list += ['wqConcurrencyLimit : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharingScope : ' + str(self.sharingScope)]
 *             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":17853
 *             except ValueError:
 *                 str_list += ['sharingScope : <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, 17853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17839
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17855
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def device(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":17838
 *     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.CUdevWorkqueueConfigResource_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":17856
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def device(self):
 *         return self._device
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17858
 *     @property
 *     def device(self):
 *         return self._device             # <<<<<<<<<<<<<<
 *     @device.setter
 *     def device(self, device):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_device);
  __pyx_r = ((PyObject *)__pyx_v_self->_device);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17856
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def device(self):
 *         return self._device
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17859
 *     def device(self):
 *         return self._device
 *     @device.setter             # <<<<<<<<<<<<<<
 *     def device(self, device):
 *         cdef cydriver.CUdevice cydevice
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_device); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_device) {
  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_31CUdevWorkqueueConfigResource_st_6device_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cydevice;
  PyObject *__pyx_v_pdevice = 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;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17862
 *     def device(self, device):
 *         cdef cydriver.CUdevice cydevice
 *         if device is None:             # <<<<<<<<<<<<<<
 *             cydevice = <cydriver.CUdevice><void_ptr>0
 *         elif isinstance(device, (CUdevice)):
*/
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":17863
 *         cdef cydriver.CUdevice cydevice
 *         if device is None:
 *             cydevice = <cydriver.CUdevice><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(device, (CUdevice)):
 *             pdevice = int(device)
*/
    __pyx_v_cydevice = ((CUdevice)((__pyx_t_4cuda_8bindings_6driver_void_ptr)0));

    /* "cuda/bindings/driver.pyx":17862
 *     def device(self, device):
 *         cdef cydriver.CUdevice cydevice
 *         if device is None:             # <<<<<<<<<<<<<<
 *             cydevice = <cydriver.CUdevice><void_ptr>0
 *         elif isinstance(device, (CUdevice)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17864
 *         if device is None:
 *             cydevice = <cydriver.CUdevice><void_ptr>0
 *         elif isinstance(device, (CUdevice)):             # <<<<<<<<<<<<<<
 *             pdevice = int(device)
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
*/
  __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":17865
 *             cydevice = <cydriver.CUdevice><void_ptr>0
 *         elif isinstance(device, (CUdevice)):
 *             pdevice = int(device)             # <<<<<<<<<<<<<<
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
 *         else:
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17866
 *         elif isinstance(device, (CUdevice)):
 *             pdevice = int(device)
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdevice = int(CUdevice(device))
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17866, __pyx_L1_error)
    __pyx_v_cydevice = ((CUdevice)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));

    /* "cuda/bindings/driver.pyx":17864
 *         if device is None:
 *             cydevice = <cydriver.CUdevice><void_ptr>0
 *         elif isinstance(device, (CUdevice)):             # <<<<<<<<<<<<<<
 *             pdevice = int(device)
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17868
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
 *         else:
 *             pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
 *         self._device._pvt_ptr[0] = cydevice
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17868, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17868, __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;

    /* "cuda/bindings/driver.pyx":17869
 *         else:
 *             pdevice = int(CUdevice(device))
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice             # <<<<<<<<<<<<<<
 *         self._device._pvt_ptr[0] = cydevice
 * 
*/
    __pyx_t_3 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17869, __pyx_L1_error)
    __pyx_v_cydevice = ((CUdevice)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17870
 *             pdevice = int(CUdevice(device))
 *             cydevice = <cydriver.CUdevice><void_ptr>pdevice
 *         self._device._pvt_ptr[0] = cydevice             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  (__pyx_v_self->_device->_pvt_ptr[0]) = __pyx_v_cydevice;

  /* "cuda/bindings/driver.pyx":17859
 *     def device(self):
 *         return self._device
 *     @device.setter             # <<<<<<<<<<<<<<
 *     def device(self, device):
 *         cdef cydriver.CUdevice cydevice
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.device.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17872
 *         self._device._pvt_ptr[0] = cydevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wqConcurrencyLimit(self):
 *         return self._pvt_ptr[0].wqConcurrencyLimit
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17874
 *     @property
 *     def wqConcurrencyLimit(self):
 *         return self._pvt_ptr[0].wqConcurrencyLimit             # <<<<<<<<<<<<<<
 *     @wqConcurrencyLimit.setter
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).wqConcurrencyLimit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17872
 *         self._device._pvt_ptr[0] = cydevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def wqConcurrencyLimit(self):
 *         return self._pvt_ptr[0].wqConcurrencyLimit
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.wqConcurrencyLimit.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17875
 *     def wqConcurrencyLimit(self):
 *         return self._pvt_ptr[0].wqConcurrencyLimit
 *     @wqConcurrencyLimit.setter             # <<<<<<<<<<<<<<
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
 *         self._pvt_ptr[0].wqConcurrencyLimit = wqConcurrencyLimit
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_wqConcurrencyLimit); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_wqConcurrencyLimit) {
  unsigned int __pyx_v_wqConcurrencyLimit;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_wqConcurrencyLimit); {
    __pyx_v_wqConcurrencyLimit = __Pyx_PyLong_As_unsigned_int(__pyx_arg_wqConcurrencyLimit); if (unlikely((__pyx_v_wqConcurrencyLimit == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17876, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.wqConcurrencyLimit.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_wqConcurrencyLimit));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, unsigned int __pyx_v_wqConcurrencyLimit) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17877
 *     @wqConcurrencyLimit.setter
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
 *         self._pvt_ptr[0].wqConcurrencyLimit = wqConcurrencyLimit             # <<<<<<<<<<<<<<
 *     @property
 *     def sharingScope(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).wqConcurrencyLimit = __pyx_v_wqConcurrencyLimit;

  /* "cuda/bindings/driver.pyx":17875
 *     def wqConcurrencyLimit(self):
 *         return self._pvt_ptr[0].wqConcurrencyLimit
 *     @wqConcurrencyLimit.setter             # <<<<<<<<<<<<<<
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
 *         self._pvt_ptr[0].wqConcurrencyLimit = wqConcurrencyLimit
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17878
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
 *         self._pvt_ptr[0].wqConcurrencyLimit = wqConcurrencyLimit
 *     @property             # <<<<<<<<<<<<<<
 *     def sharingScope(self):
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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":17880
 *     @property
 *     def sharingScope(self):
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]
*/
  __pyx_t_1 = __Pyx_PyLong_From_CUdevWorkqueueConfigScope((__pyx_v_self->_pvt_ptr[0]).sharingScope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUdevWorkqueueConfigScope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17880, __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, 17880, __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":17881
 *     def sharingScope(self):
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:
 *             return None             # <<<<<<<<<<<<<<
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]
 *     @sharingScope.setter
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17880
 *     @property
 *     def sharingScope(self):
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:             # <<<<<<<<<<<<<<
 *             return None
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]
*/
  }

  /* "cuda/bindings/driver.pyx":17882
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:
 *             return None
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]             # <<<<<<<<<<<<<<
 *     @sharingScope.setter
 *     def sharingScope(self, sharingScope not None : CUdevWorkqueueConfigScope):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dict_CUdevWorkqueueConfigScope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_CUdevWorkqueueConfigScope((__pyx_v_self->_pvt_ptr[0]).sharingScope); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17882, __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, 17882, __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":17878
 *     def wqConcurrencyLimit(self, unsigned int wqConcurrencyLimit):
 *         self._pvt_ptr[0].wqConcurrencyLimit = wqConcurrencyLimit
 *     @property             # <<<<<<<<<<<<<<
 *     def sharingScope(self):
 *         if self._pvt_ptr[0].sharingScope not in _dict_CUdevWorkqueueConfigScope:
*/

  /* 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.CUdevWorkqueueConfigResource_st.sharingScope.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17883
 *             return None
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]
 *     @sharingScope.setter             # <<<<<<<<<<<<<<
 *     def sharingScope(self, sharingScope not None : CUdevWorkqueueConfigScope):
 *         self._pvt_ptr[0].sharingScope = sharingScope.value
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharingScope); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sharingScope) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_sharingScope) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "sharingScope"); __PYX_ERR(0, 17884, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_sharingScope));

  /* 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_31CUdevWorkqueueConfigResource_st_12sharingScope_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *__pyx_v_self, PyObject *__pyx_v_sharingScope) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUdevWorkqueueConfigScope __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17885
 *     @sharingScope.setter
 *     def sharingScope(self, sharingScope not None : CUdevWorkqueueConfigScope):
 *         self._pvt_ptr[0].sharingScope = sharingScope.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevWorkqueueResource_st:
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_sharingScope, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((CUdevWorkqueueConfigScope)__Pyx_PyLong_As_CUdevWorkqueueConfigScope(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_pvt_ptr[0]).sharingScope = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":17883
 *             return None
 *         return _dict_CUdevWorkqueueConfigScope[self._pvt_ptr[0].sharingScope]
 *     @sharingScope.setter             # <<<<<<<<<<<<<<
 *     def sharingScope(self, sharingScope not None : CUdevWorkqueueConfigScope):
 *         self._pvt_ptr[0].sharingScope = sharingScope.value
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueConfigResource_st.sharingScope.__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_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_10__reduce_cython__, "CUdevWorkqueueConfigResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_12__setstate_cython__, "CUdevWorkqueueConfigResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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.CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUdevWorkqueueConfigResource_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":17899
 *         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_25CUdevWorkqueueResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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, 17899, __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, 17899, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17899, __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, 17899, __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, 17899, __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, 17899, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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":17900
 *     """
 *     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":17901
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueResource_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17900
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17903
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CUdevWorkqueueResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17899
 *         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":17904
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevWorkqueueResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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, 17904, __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, 17904, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17904, __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, 17904, __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, 17904, __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, 17904, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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":17906
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17908
 *     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_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_6getPtr, "CUdevWorkqueueResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self) {
  PyObject *__pyx_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":17909
 *         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, 17909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17908
 *     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.CUdevWorkqueueResource_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":17910
 *     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_25CUdevWorkqueueResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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":17911
 *         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":17912
 *     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, 17912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17913
 *         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":17914
 *             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, 17914, __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, 17914, __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, 17914, __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, 17914, __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, 17914, __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, 17914, __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":17913
 *         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":17915
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(0, 17915, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17916
 *                 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, 17916, __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, 17916, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17916, __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":17913
 *         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":17917
 *             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, 17917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17911
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17919
 *             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":17910
 *     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.CUdevWorkqueueResource_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":17920
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 40)
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":17922
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 40)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0]).reserved), 40); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17920
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 40)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CUdevWorkqueueResource_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":17923
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 40)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 40:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":17925
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 40:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 40, 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, 17925, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 40);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":17926
 *     def reserved(self, reserved):
 *         if len(reserved) != 40:
 *             raise ValueError("reserved length must be 40, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b
*/
    __pyx_t_4 = NULL;
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17926, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17926, __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, 17926, __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_reserved_length_must_be_40_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 17926, __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, 17926, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":17925
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 40:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 40, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
*/
  }

  /* "cuda/bindings/driver.pyx":17927
 *         if len(reserved) != 40:
 *             raise ValueError("reserved length must be 40, 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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17927, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 17927, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 17927, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17927, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 17927, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":17928
 *             raise ValueError("reserved length must be 40, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._pvt_ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
*/
    __pyx_t_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 17928, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17928, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).reserved[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":17927
 *         if len(reserved) != 40:
 *             raise ValueError("reserved length must be 40, 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":17923
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0].reserved, 40)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 40:
*/

  /* 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.CUdevWorkqueueResource_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_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_10__reduce_cython__, "CUdevWorkqueueResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUdevWorkqueueResource_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_25CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_12__setstate_cython__, "CUdevWorkqueueResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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.CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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(((PyObject *)(((PyTypeObject*)PyExc_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.CUdevWorkqueueResource_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":17953
 *         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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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, 17953, __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, 17953, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17953, __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, 17953, __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, 17953, __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, 17953, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st___cinit__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17954
 *     """
 *     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":17955
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._pvt_ptr = &self._pvt_val             # <<<<<<<<<<<<<<
 *         else:
 *             self._pvt_ptr = <cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *>_ptr
*/
    __pyx_v_self->_pvt_ptr = (&__pyx_v_self->_pvt_val);

    /* "cuda/bindings/driver.pyx":17954
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr = &self._pvt_val
 *         else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":17957
 *             self._pvt_ptr = &self._pvt_val
 *         else:
 *             self._pvt_ptr = <cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
*/
  /*else*/ {
    __pyx_v_self->_pvt_ptr = ((struct CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":17953
 *         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":17958
 *         else:
 *             self._pvt_ptr = <cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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, 17958, __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, 17958, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 17958, __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, 17958, __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, 17958, __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, 17958, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17960
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
*/

/* Python wrapper */
static void __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self) {

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":17962
 *     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_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr, "CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17963
 *         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, 17963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17962
 *     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.CU_DEV_SM_RESOURCE_GROUP_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":17964
 *     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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17965
 *         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":17966
 *     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, 17966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":17967
 *         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":17968
 *             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, 17968, __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, 17968, __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, 17968, __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, 17968, __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, 17968, __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, 17968, __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":17967
 *         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":17969
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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, 17969, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17970
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17970, __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, 17970, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17970, __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":17967
 *         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":17971
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
 *             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":17972
 *                 str_list += ['smCount : <ValueError>']
 *             try:
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['coscheduledSmCount : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_coscheduledSmCount_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17972, __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, 17972, __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_coscheduledSmCount, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17972, __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, 17972, __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, 17972, __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, 17972, __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":17971
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
 *             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":17973
 *             try:
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['coscheduledSmCount : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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, 17973, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17974
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
 *             except ValueError:
 *                 str_list += ['coscheduledSmCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17974, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_coscheduledSmCount_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_coscheduledSmCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_coscheduledSmCount_ValueError) != (0)) __PYX_ERR(0, 17974, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17974, __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":17971
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['coscheduledSmCount : ' + str(self.coscheduledSmCount)]
 *             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":17975
 *             except ValueError:
 *                 str_list += ['coscheduledSmCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":17976
 *                 str_list += ['coscheduledSmCount : <ValueError>']
 *             try:
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['preferredCoscheduledSmCount : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_preferredCoscheduledSmCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17976, __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, 17976, __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_preferredCoscheduledSmCount, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17976, __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, 17976, __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, 17976, __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, 17976, __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":17975
 *             except ValueError:
 *                 str_list += ['coscheduledSmCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":17977
 *             try:
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredCoscheduledSmCount : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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, 17977, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17978
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
 *             except ValueError:
 *                 str_list += ['preferredCoscheduledSmCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17978, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_preferredCoscheduledSmCount_Valu);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_preferredCoscheduledSmCount_Valu);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_preferredCoscheduledSmCount_Valu) != (0)) __PYX_ERR(0, 17978, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17978, __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":17975
 *             except ValueError:
 *                 str_list += ['coscheduledSmCount : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['preferredCoscheduledSmCount : ' + str(self.preferredCoscheduledSmCount)]
 *             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":17979
 *             except ValueError:
 *                 str_list += ['preferredCoscheduledSmCount : <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":17980
 *                 str_list += ['preferredCoscheduledSmCount : <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, 17980, __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, 17980, __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, 17980, __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, 17980, __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, 17980, __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, 17980, __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":17979
 *             except ValueError:
 *                 str_list += ['preferredCoscheduledSmCount : <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":17981
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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, 17981, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":17982
 *                 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, 17982, __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, 17982, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17982, __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":17979
 *             except ValueError:
 *                 str_list += ['preferredCoscheduledSmCount : <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":17983
 *             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":17984
 *                 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, 17984, __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, 17984, __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_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17984, __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, 17984, __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, 17984, __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, 17984, __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":17983
 *             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_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":17985
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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, 17985, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":17986
 *                 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, 17986, __pyx_L38_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, 17986, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17986, __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":17983
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             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":17987
 *             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, 17987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":17965
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":17989
 *             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":17964
 *     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.CU_DEV_SM_RESOURCE_GROUP_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":17990
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._pvt_ptr[0].smCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17992
 *     @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, 17992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17990
 *         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.CU_DEV_SM_RESOURCE_GROUP_PARAMS_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":17993
 *     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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_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, 17994, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_smCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_smCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":17995
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount             # <<<<<<<<<<<<<<
 *     @property
 *     def coscheduledSmCount(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).smCount = __pyx_v_smCount;

  /* "cuda/bindings/driver.pyx":17993
 *     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;
}

/* "cuda/bindings/driver.pyx":17996
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
 *     @property             # <<<<<<<<<<<<<<
 *     def coscheduledSmCount(self):
 *         return self._pvt_ptr[0].coscheduledSmCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":17998
 *     @property
 *     def coscheduledSmCount(self):
 *         return self._pvt_ptr[0].coscheduledSmCount             # <<<<<<<<<<<<<<
 *     @coscheduledSmCount.setter
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).coscheduledSmCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":17996
 *     def smCount(self, unsigned int smCount):
 *         self._pvt_ptr[0].smCount = smCount
 *     @property             # <<<<<<<<<<<<<<
 *     def coscheduledSmCount(self):
 *         return self._pvt_ptr[0].coscheduledSmCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.coscheduledSmCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":17999
 *     def coscheduledSmCount(self):
 *         return self._pvt_ptr[0].coscheduledSmCount
 *     @coscheduledSmCount.setter             # <<<<<<<<<<<<<<
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
 *         self._pvt_ptr[0].coscheduledSmCount = coscheduledSmCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_coscheduledSmCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_coscheduledSmCount) {
  unsigned int __pyx_v_coscheduledSmCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_coscheduledSmCount); {
    __pyx_v_coscheduledSmCount = __Pyx_PyLong_As_unsigned_int(__pyx_arg_coscheduledSmCount); if (unlikely((__pyx_v_coscheduledSmCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18000, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.coscheduledSmCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_coscheduledSmCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_coscheduledSmCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":18001
 *     @coscheduledSmCount.setter
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
 *         self._pvt_ptr[0].coscheduledSmCount = coscheduledSmCount             # <<<<<<<<<<<<<<
 *     @property
 *     def preferredCoscheduledSmCount(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).coscheduledSmCount = __pyx_v_coscheduledSmCount;

  /* "cuda/bindings/driver.pyx":17999
 *     def coscheduledSmCount(self):
 *         return self._pvt_ptr[0].coscheduledSmCount
 *     @coscheduledSmCount.setter             # <<<<<<<<<<<<<<
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
 *         self._pvt_ptr[0].coscheduledSmCount = coscheduledSmCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18002
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
 *         self._pvt_ptr[0].coscheduledSmCount = coscheduledSmCount
 *     @property             # <<<<<<<<<<<<<<
 *     def preferredCoscheduledSmCount(self):
 *         return self._pvt_ptr[0].preferredCoscheduledSmCount
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":18004
 *     @property
 *     def preferredCoscheduledSmCount(self):
 *         return self._pvt_ptr[0].preferredCoscheduledSmCount             # <<<<<<<<<<<<<<
 *     @preferredCoscheduledSmCount.setter
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_unsigned_int((__pyx_v_self->_pvt_ptr[0]).preferredCoscheduledSmCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18002
 *     def coscheduledSmCount(self, unsigned int coscheduledSmCount):
 *         self._pvt_ptr[0].coscheduledSmCount = coscheduledSmCount
 *     @property             # <<<<<<<<<<<<<<
 *     def preferredCoscheduledSmCount(self):
 *         return self._pvt_ptr[0].preferredCoscheduledSmCount
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.preferredCoscheduledSmCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18005
 *     def preferredCoscheduledSmCount(self):
 *         return self._pvt_ptr[0].preferredCoscheduledSmCount
 *     @preferredCoscheduledSmCount.setter             # <<<<<<<<<<<<<<
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
 *         self._pvt_ptr[0].preferredCoscheduledSmCount = preferredCoscheduledSmCount
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_preferredCoscheduledSmCount); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_preferredCoscheduledSmCount) {
  unsigned int __pyx_v_preferredCoscheduledSmCount;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_preferredCoscheduledSmCount); {
    __pyx_v_preferredCoscheduledSmCount = __Pyx_PyLong_As_unsigned_int(__pyx_arg_preferredCoscheduledSmCount); if (unlikely((__pyx_v_preferredCoscheduledSmCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18006, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.preferredCoscheduledSmCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self), ((unsigned int)__pyx_v_preferredCoscheduledSmCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_preferredCoscheduledSmCount) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":18007
 *     @preferredCoscheduledSmCount.setter
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
 *         self._pvt_ptr[0].preferredCoscheduledSmCount = preferredCoscheduledSmCount             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
*/
  (__pyx_v_self->_pvt_ptr[0]).preferredCoscheduledSmCount = __pyx_v_preferredCoscheduledSmCount;

  /* "cuda/bindings/driver.pyx":18005
 *     def preferredCoscheduledSmCount(self):
 *         return self._pvt_ptr[0].preferredCoscheduledSmCount
 *     @preferredCoscheduledSmCount.setter             # <<<<<<<<<<<<<<
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
 *         self._pvt_ptr[0].preferredCoscheduledSmCount = preferredCoscheduledSmCount
*/

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18008
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
 *         self._pvt_ptr[0].preferredCoscheduledSmCount = preferredCoscheduledSmCount
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._pvt_ptr[0].flags
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":18010
 *     @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, 18010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18008
 *     def preferredCoscheduledSmCount(self, unsigned int preferredCoscheduledSmCount):
 *         self._pvt_ptr[0].preferredCoscheduledSmCount = preferredCoscheduledSmCount
 *     @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.CU_DEV_SM_RESOURCE_GROUP_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":18011
 *     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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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, 18012, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;

  /* "cuda/bindings/driver.pyx":18013
 *     @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":18011
 *     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":18014
 *     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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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":18016
 *     @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, 12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18014
 *     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.CU_DEV_SM_RESOURCE_GROUP_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":18017
 *     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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__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":18019
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._pvt_ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevResource_st:
*/
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 12) < 0))) __PYX_ERR(0, 18019, __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":18017
 *     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.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__, "CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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(((PyObject *)(((PyTypeObject*)PyExc_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.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__, "CU_DEV_SM_RESOURCE_GROUP_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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.CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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(((PyObject *)(((PyTypeObject*)PyExc_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.CU_DEV_SM_RESOURCE_GROUP_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":18047
 *         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, 18047, __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, 18047, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18047, __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, 18047, __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, 18047, __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, 18047, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18048
 *     """
 *     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":18049
 *     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":18050
 *         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":18048
 *     """
 *     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":18052
 *             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":18047
 *         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":18053
 *         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, 18053, __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, 18053, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18053, __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, 18053, __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, 18053, __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, 18053, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":18055
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)             # <<<<<<<<<<<<<<
 *         self._wqConfig = CUdevWorkqueueConfigResource(_ptr=<void_ptr>&self._pvt_ptr[0].wqConfig)
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __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_3)) __PYX_ERR(0, 18055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18055, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 18055, __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":18056
 *         pass
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *         self._wqConfig = CUdevWorkqueueConfigResource(_ptr=<void_ptr>&self._pvt_ptr[0].wqConfig)             # <<<<<<<<<<<<<<
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
 *     def __dealloc__(self):
*/
  __pyx_t_5 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).wqConfig))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, NULL};
    __pyx_t_2 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_2, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18056, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 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, 18056, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_wqConfig);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_wqConfig);
  __pyx_v_self->_wqConfig = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":18057
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._pvt_ptr[0].sm)
 *         self._wqConfig = CUdevWorkqueueConfigResource(_ptr=<void_ptr>&self._pvt_ptr[0].wqConfig)
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_self->_pvt_ptr[0]).wq))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18057, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 18057, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_wq);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_wq);
  __pyx_v_self->_wq = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":18053
 *         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_5);
  __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":18058
 *         self._wqConfig = CUdevWorkqueueConfigResource(_ptr=<void_ptr>&self._pvt_ptr[0].wqConfig)
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
 *     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":18059
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *         if self._nextResource is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18060
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *         if self._nextResource is not NULL:
 *             free(self._nextResource)
*/
    free(__pyx_v_self->_val_ptr);

    /* "cuda/bindings/driver.pyx":18059
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *         if self._nextResource is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":18061
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *         if self._nextResource is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._nextResource)
 *     def getPtr(self):
*/
  __pyx_t_1 = (__pyx_v_self->_nextResource != NULL);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":18062
 *             free(self._val_ptr)
 *         if self._nextResource is not NULL:
 *             free(self._nextResource)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._pvt_ptr
*/
    free(__pyx_v_self->_nextResource);

    /* "cuda/bindings/driver.pyx":18061
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *         if self._nextResource is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._nextResource)
 *     def getPtr(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18058
 *         self._wqConfig = CUdevWorkqueueConfigResource(_ptr=<void_ptr>&self._pvt_ptr[0].wqConfig)
 *         self._wq = CUdevWorkqueueResource(_ptr=<void_ptr>&self._pvt_ptr[0].wq)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
*/

  /* function exit code */
}

/* "cuda/bindings/driver.pyx":18063
 *         if self._nextResource is not NULL:
 *             free(self._nextResource)
 *     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":18064
 *             free(self._nextResource)
 *     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, 18064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18063
 *         if self._nextResource is not NULL:
 *             free(self._nextResource)
 *     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":18065
 *     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_10genexpr237__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr238__pyx_v_line = NULL;
  PyObject *__pyx_10genexpr239__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":18066
 *         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":18067
 *     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, 18067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18068
 *         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":18069
 *             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, 18069, __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, 18069, __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, 18069, __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, 18069, __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, 18069, __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, 18069, __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":18068
 *         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":18070
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18070, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":18071
 *                 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, 18071, __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, 18071, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18071, __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":18068
 *         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":18072
 *             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":18073
 *                 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, 18073, __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, 18073, __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, 18073, __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, 18073, __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, 18073, __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, 18073, __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":18072
 *             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":18074
 *             try:
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18074, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18075
 *                 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, 18075, __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, 18075, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18075, __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":18072
 *             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":18076
 *             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":18077
 *                 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, 18077, __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, 18077, __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, 18077, __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, 18077, __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, 18077, __pyx_L28_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18077, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr237__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr237__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18077, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18077, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_10genexpr237__pyx_v_line); __pyx_10genexpr237__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_10genexpr237__pyx_v_line); __pyx_10genexpr237__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, 18077, __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, 18077, __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, 18077, __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, 18077, __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, 18077, __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":18076
 *             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":18078
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 18078, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18079
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).splitlines()])]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18079, __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, 18079, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18079, __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":18076
 *             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":18080
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).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":18081
 *                 str_list += ['sm : <ValueError>']
 *             try:
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['wqConfig : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18081, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_wqConfig_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18081, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18081, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = PyUnicode_Splitlines(((PyObject*)__pyx_t_2), 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18081, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2);
          __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_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 18081, __pyx_L43_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18081, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_XDECREF_SET(__pyx_10genexpr238__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr238__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18081, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 18081, __pyx_L43_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_10genexpr238__pyx_v_line); __pyx_10genexpr238__pyx_v_line = 0;
          goto __pyx_L47_exit_scope;
          __pyx_L43_error:;
          __Pyx_XDECREF(__pyx_10genexpr238__pyx_v_line); __pyx_10genexpr238__pyx_v_line = 0;
          goto __pyx_L35_error;
          __pyx_L47_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, 18081, __pyx_L35_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_wqConfig, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18081, __pyx_L35_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, 18081, __pyx_L35_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, 18081, __pyx_L35_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, 18081, __pyx_L35_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":18080
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).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":18082
 *             try:
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConfig : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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_2, &__pyx_t_8) < 0) __PYX_ERR(0, 18082, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":18083
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).splitlines()])]
 *             except ValueError:
 *                 str_list += ['wqConfig : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).splitlines()])]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18083, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_wqConfig_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_wqConfig_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_mstate_global->__pyx_kp_u_wqConfig_ValueError) != (0)) __PYX_ERR(0, 18083, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18083, __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_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L36_exception_handled;
      }
      goto __pyx_L37_except_error;

      /* "cuda/bindings/driver.pyx":18080
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wqConfig :\n' + '\n'.join(['    ' + line for line in str(self.wqConfig).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":18084
 *             except ValueError:
 *                 str_list += ['wqConfig : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).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":18085
 *                 str_list += ['wqConfig : <ValueError>']
 *             try:
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).splitlines()])]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['wq : <ValueError>']
*/
        { /* enter inner scope */
          __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18085, __pyx_L58_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_wq_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18085, __pyx_L58_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18085, __pyx_L58_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, 18085, __pyx_L58_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, 18085, __pyx_L58_error)
              #endif
              if (__pyx_t_11 >= __pyx_temp) break;
            }
            __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_11;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18085, __pyx_L58_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_XDECREF_SET(__pyx_10genexpr239__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr239__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18085, __pyx_L58_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 18085, __pyx_L58_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_line); __pyx_10genexpr239__pyx_v_line = 0;
          goto __pyx_L62_exit_scope;
          __pyx_L58_error:;
          __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_line); __pyx_10genexpr239__pyx_v_line = 0;
          goto __pyx_L50_error;
          __pyx_L62_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, 18085, __pyx_L50_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_wq, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18085, __pyx_L50_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, 18085, __pyx_L50_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, 18085, __pyx_L50_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, 18085, __pyx_L50_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":18084
 *             except ValueError:
 *                 str_list += ['wqConfig : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).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_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":18086
 *             try:
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['wq : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18086, __pyx_L52_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18087
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).splitlines()])]
 *             except ValueError:
 *                 str_list += ['wq : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18087, __pyx_L52_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_wq_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_wq_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_wq_ValueError) != (0)) __PYX_ERR(0, 18087, __pyx_L52_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18087, __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_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_L51_exception_handled;
      }
      goto __pyx_L52_except_error;

      /* "cuda/bindings/driver.pyx":18084
 *             except ValueError:
 *                 str_list += ['wqConfig : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['wq :\n' + '\n'.join(['    ' + line for line in str(self.wq).splitlines()])]
 *             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":18088
 *             except ValueError:
 *                 str_list += ['wq : <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":18089
 *                 str_list += ['wq : <ValueError>']
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
*/
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_oversize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18089, __pyx_L65_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18089, __pyx_L65_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_oversize, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18089, __pyx_L65_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, 18089, __pyx_L65_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, 18089, __pyx_L65_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, 18089, __pyx_L65_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":18088
 *             except ValueError:
 *                 str_list += ['wq : <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_L70_try_end;
      __pyx_L65_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/bindings/driver.pyx":18090
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18090, __pyx_L67_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":18091
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18091, __pyx_L67_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, 18091, __pyx_L67_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18091, __pyx_L67_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_L66_exception_handled;
      }
      goto __pyx_L67_except_error;

      /* "cuda/bindings/driver.pyx":18088
 *             except ValueError:
 *                 str_list += ['wq : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
*/
      __pyx_L67_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_L66_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_L70_try_end:;
    }

    /* "cuda/bindings/driver.pyx":18092
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
 *             except ValueError:
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18093
 *                 str_list += ['_oversize : <ValueError>']
 *             try:
 *                 str_list += ['nextResource : ' + str(self.nextResource)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['nextResource : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_nextResource_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18093, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18093, __pyx_L73_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_nextResource, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18093, __pyx_L73_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, 18093, __pyx_L73_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, 18093, __pyx_L73_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, 18093, __pyx_L73_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":18092
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
 *             except ValueError:
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __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":18094
 *             try:
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nextResource : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18094, __pyx_L75_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18095
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
 *             except ValueError:
 *                 str_list += ['nextResource : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18095, __pyx_L75_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_nextResource_ValueError);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_nextResource_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_mstate_global->__pyx_kp_u_nextResource_ValueError) != (0)) __PYX_ERR(0, 18095, __pyx_L75_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18095, __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_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L74_exception_handled;
      }
      goto __pyx_L75_except_error;

      /* "cuda/bindings/driver.pyx":18092
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['nextResource : ' + str(self.nextResource)]
 *             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":18096
 *             except ValueError:
 *                 str_list += ['nextResource : <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, 18096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18066
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":18098
 *             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":18065
 *     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_10genexpr237__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr238__pyx_v_line);
  __Pyx_XDECREF(__pyx_10genexpr239__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18099
 *         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":18101
 *     @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, 18101, __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, 18101, __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, 18101, __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":18102
 *     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":18101
 *     @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":18103
 *         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, 18103, __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, 18103, __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, 18103, __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":18099
 *         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":18104
 *             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, 18105, __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":18106
 *     @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, 18106, __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, 18106, __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":18104
 *             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":18107
 *     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":18109
 *     @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, 18109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18107
 *     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":18110
 *     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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":18112
 *     @_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, 18112, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 92);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":18113
 *     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_t_1 = PyObject_Length(__pyx_v__internal_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18113, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18113, __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, 18113, __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_internal_padding_length_must_be, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 18113, __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, 18113, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":18112
 *     @_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":18114
 *         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_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v__internal_padding); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18114, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 18114, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 18114, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18114, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 18114, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":18115
 *             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_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 18115, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 18115, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0])._internal_padding[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":18114
 *         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":18110
 *     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_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":18116
 *         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":18118
 *     @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":18116
 *         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":18119
 *     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, 18120, __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":18121
 *     @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 wqConfig(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((PyObject*)__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, 18121, __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, 18121, __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":18119
 *     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":18122
 *     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 wqConfig(self):
 *         return self._wqConfig
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_8wqConfig___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_8wqConfig___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":18124
 *     @property
 *     def wqConfig(self):
 *         return self._wqConfig             # <<<<<<<<<<<<<<
 *     @wqConfig.setter
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_wqConfig);
  __pyx_r = ((PyObject *)__pyx_v_self->_wqConfig);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18122
 *     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 wqConfig(self):
 *         return self._wqConfig
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18125
 *     def wqConfig(self):
 *         return self._wqConfig
 *     @wqConfig.setter             # <<<<<<<<<<<<<<
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
 *         string.memcpy(&self._pvt_ptr[0].wqConfig, <cydriver.CUdevWorkqueueConfigResource*><void_ptr>wqConfig.getPtr(), sizeof(self._pvt_ptr[0].wqConfig))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_wqConfig); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_wqConfig) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_wqConfig), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource, 0, "wqConfig", 0))) __PYX_ERR(0, 18126, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *)__pyx_v_wqConfig));

  /* 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_8wqConfig_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *__pyx_v_wqConfig) {
  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":18127
 *     @wqConfig.setter
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
 *         string.memcpy(&self._pvt_ptr[0].wqConfig, <cydriver.CUdevWorkqueueConfigResource*><void_ptr>wqConfig.getPtr(), sizeof(self._pvt_ptr[0].wqConfig))             # <<<<<<<<<<<<<<
 *     @property
 *     def wq(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_wqConfig);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__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, 18127, __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, 18127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).wqConfig), ((CUdevWorkqueueConfigResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).wqConfig))));

  /* "cuda/bindings/driver.pyx":18125
 *     def wqConfig(self):
 *         return self._wqConfig
 *     @wqConfig.setter             # <<<<<<<<<<<<<<
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
 *         string.memcpy(&self._pvt_ptr[0].wqConfig, <cydriver.CUdevWorkqueueConfigResource*><void_ptr>wqConfig.getPtr(), sizeof(self._pvt_ptr[0].wqConfig))
*/

  /* 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.wqConfig.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18128
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
 *         string.memcpy(&self._pvt_ptr[0].wqConfig, <cydriver.CUdevWorkqueueConfigResource*><void_ptr>wqConfig.getPtr(), sizeof(self._pvt_ptr[0].wqConfig))
 *     @property             # <<<<<<<<<<<<<<
 *     def wq(self):
 *         return self._wq
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_2wq___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_2wq___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":18130
 *     @property
 *     def wq(self):
 *         return self._wq             # <<<<<<<<<<<<<<
 *     @wq.setter
 *     def wq(self, wq not None : CUdevWorkqueueResource):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_wq);
  __pyx_r = ((PyObject *)__pyx_v_self->_wq);
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18128
 *     def wqConfig(self, wqConfig not None : CUdevWorkqueueConfigResource):
 *         string.memcpy(&self._pvt_ptr[0].wqConfig, <cydriver.CUdevWorkqueueConfigResource*><void_ptr>wqConfig.getPtr(), sizeof(self._pvt_ptr[0].wqConfig))
 *     @property             # <<<<<<<<<<<<<<
 *     def wq(self):
 *         return self._wq
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18131
 *     def wq(self):
 *         return self._wq
 *     @wq.setter             # <<<<<<<<<<<<<<
 *     def wq(self, wq not None : CUdevWorkqueueResource):
 *         string.memcpy(&self._pvt_ptr[0].wq, <cydriver.CUdevWorkqueueResource*><void_ptr>wq.getPtr(), sizeof(self._pvt_ptr[0].wq))
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_wq); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_wq) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = 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_wq), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource, 0, "wq", 0))) __PYX_ERR(0, 18132, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_2wq_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *)__pyx_v_wq));

  /* 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_2wq_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *__pyx_v_wq) {
  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":18133
 *     @wq.setter
 *     def wq(self, wq not None : CUdevWorkqueueResource):
 *         string.memcpy(&self._pvt_ptr[0].wq, <cydriver.CUdevWorkqueueResource*><void_ptr>wq.getPtr(), sizeof(self._pvt_ptr[0].wq))             # <<<<<<<<<<<<<<
 *     @property
 *     def _oversize(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_wq);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__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, 18133, __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, 18133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_pvt_ptr[0]).wq), ((CUdevWorkqueueResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_4)), (sizeof((__pyx_v_self->_pvt_ptr[0]).wq))));

  /* "cuda/bindings/driver.pyx":18131
 *     def wq(self):
 *         return self._wq
 *     @wq.setter             # <<<<<<<<<<<<<<
 *     def wq(self, wq not None : CUdevWorkqueueResource):
 *         string.memcpy(&self._pvt_ptr[0].wq, <cydriver.CUdevWorkqueueResource*><void_ptr>wq.getPtr(), sizeof(self._pvt_ptr[0].wq))
*/

  /* 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.wq.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18134
 *     def wq(self, wq not None : CUdevWorkqueueResource):
 *         string.memcpy(&self._pvt_ptr[0].wq, <cydriver.CUdevWorkqueueResource*><void_ptr>wq.getPtr(), sizeof(self._pvt_ptr[0].wq))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 40)
*/

/* 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":18136
 *     @property
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 40)             # <<<<<<<<<<<<<<
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_pvt_ptr[0])._oversize), 40); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18134
 *     def wq(self, wq not None : CUdevWorkqueueResource):
 *         string.memcpy(&self._pvt_ptr[0].wq, <cydriver.CUdevWorkqueueResource*><void_ptr>wq.getPtr(), sizeof(self._pvt_ptr[0].wq))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 40)
*/

  /* 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":18137
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 40)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 40:
*/

/* 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;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  unsigned char __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "cuda/bindings/driver.pyx":18139
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 40:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 40, 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, 18139, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 40);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":18140
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 40:
 *             raise ValueError("_oversize length must be 40, is " + str(len(_oversize)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b
*/
    __pyx_t_4 = NULL;
    __pyx_t_1 = PyObject_Length(__pyx_v__oversize); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18140, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18140, __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, 18140, __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_oversize_length_must_be_40_is, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __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_3)) __PYX_ERR(0, 18140, __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, 18140, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":18139
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 40:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 40, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
*/
  }

  /* "cuda/bindings/driver.pyx":18141
 *         if len(_oversize) != 40:
 *             raise ValueError("_oversize length must be 40, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._oversize[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__oversize)) || PyTuple_CheckExact(__pyx_v__oversize)) {
    __pyx_t_5 = __pyx_v__oversize; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v__oversize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18141, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_8)) {
      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, 18141, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 18141, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18141, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_8(__pyx_t_5);
      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, 18141, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_3, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":18142
 *             raise ValueError("_oversize length must be 40, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def nextResource(self):
*/
    __pyx_t_9 = __Pyx_PyLong_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_9 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 18142, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 18142, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0])._oversize[__pyx_t_10]) = __pyx_t_9;

    /* "cuda/bindings/driver.pyx":18141
 *         if len(_oversize) != 40:
 *             raise ValueError("_oversize length must be 40, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0]._oversize[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":18137
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._pvt_ptr[0]._oversize, 40)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 40:
*/

  /* 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.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;
}

/* "cuda/bindings/driver.pyx":18143
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def nextResource(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_length)]
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 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_12nextResource___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_12nextResource___get__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_10genexpr240__pyx_v_x;
  PyObject *__pyx_10genexpr241__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "cuda/bindings/driver.pyx":18145
 *     @property
 *     def nextResource(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_length)]             # <<<<<<<<<<<<<<
 *         return [CUdevResource_st(_ptr=arr) for arr in arrs]
 *     @nextResource.setter
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_self->_nextResource_length;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_10genexpr240__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]).nextResource) + (__pyx_10genexpr240__pyx_v_x * (sizeof(struct CUdevResource_st))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 18145, __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":18146
 *     def nextResource(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_length)]
 *         return [CUdevResource_st(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @nextResource.setter
 *     def nextResource(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18146, __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, 18146, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_6;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18146, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr241__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      __pyx_t_2 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_8, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18146, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_10genexpr241__pyx_v_arr, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18146, __pyx_L7_error)
        __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st, __pyx_callargs+__pyx_t_2, (1-__pyx_t_2) | (__pyx_t_2*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __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(0, 18146, __pyx_L7_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 18146, __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_10genexpr241__pyx_v_arr); __pyx_10genexpr241__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr241__pyx_v_arr); __pyx_10genexpr241__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":18143
 *         for i, b in enumerate(_oversize):
 *             self._pvt_ptr[0]._oversize[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def nextResource(self):
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_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_AddTraceback("cuda.bindings.driver.CUdevResource_st.nextResource.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_10genexpr241__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18147
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_length)]
 *         return [CUdevResource_st(_ptr=arr) for arr in arrs]
 *     @nextResource.setter             # <<<<<<<<<<<<<<
 *     def nextResource(self, val):
 *         if len(val) == 0:
*/

/* Python wrapper */
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_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_16CUdevResource_st_12nextResource_2__set__(((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_2__set__(struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_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;
  size_t __pyx_t_8;
  struct CUdevResource_st *__pyx_t_9;
  Py_ssize_t __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":18149
 *     @nextResource.setter
 *     def nextResource(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._nextResource)
 *             self._nextResource_length = 0
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18149, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":18150
 *     def nextResource(self, val):
 *         if len(val) == 0:
 *             free(self._nextResource)             # <<<<<<<<<<<<<<
 *             self._nextResource_length = 0
 *             self._pvt_ptr[0].nextResource = NULL
*/
    free(__pyx_v_self->_nextResource);

    /* "cuda/bindings/driver.pyx":18151
 *         if len(val) == 0:
 *             free(self._nextResource)
 *             self._nextResource_length = 0             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0].nextResource = NULL
 *         else:
*/
    __pyx_v_self->_nextResource_length = 0;

    /* "cuda/bindings/driver.pyx":18152
 *             free(self._nextResource)
 *             self._nextResource_length = 0
 *             self._pvt_ptr[0].nextResource = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._nextResource_length != <size_t>len(val):
*/
    (__pyx_v_self->_pvt_ptr[0]).nextResource = NULL;

    /* "cuda/bindings/driver.pyx":18149
 *     @nextResource.setter
 *     def nextResource(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._nextResource)
 *             self._nextResource_length = 0
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18154
 *             self._pvt_ptr[0].nextResource = NULL
 *         else:
 *             if self._nextResource_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._nextResource)
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18154, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_nextResource_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/bindings/driver.pyx":18155
 *         else:
 *             if self._nextResource_length != <size_t>len(val):
 *                 free(self._nextResource)             # <<<<<<<<<<<<<<
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
 *                 if self._nextResource is NULL:
*/
      free(__pyx_v_self->_nextResource);

      /* "cuda/bindings/driver.pyx":18156
 *             if self._nextResource_length != <size_t>len(val):
 *                 free(self._nextResource)
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))             # <<<<<<<<<<<<<<
 *                 if self._nextResource is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))
*/
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18156, __pyx_L1_error)
      __pyx_v_self->_nextResource = ((struct CUdevResource_st *)calloc(__pyx_t_1, (sizeof(struct CUdevResource_st))));

      /* "cuda/bindings/driver.pyx":18157
 *                 free(self._nextResource)
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
 *                 if self._nextResource is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))
 *                 self._nextResource_length = <size_t>len(val)
*/
      __pyx_t_2 = (__pyx_v_self->_nextResource == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/bindings/driver.pyx":18158
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
 *                 if self._nextResource is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))             # <<<<<<<<<<<<<<
 *                 self._nextResource_length = <size_t>len(val)
 *                 self._pvt_ptr[0].nextResource = self._nextResource
*/
        __pyx_t_4 = NULL;
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18158, __pyx_L1_error)
        __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18158, __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, 18158, __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, 18158, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18158, __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(struct CUdevResource_st))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18158, __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, 18158, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18158, __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_4, __pyx_t_5};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18158, __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, 18158, __pyx_L1_error)

        /* "cuda/bindings/driver.pyx":18157
 *                 free(self._nextResource)
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
 *                 if self._nextResource is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))
 *                 self._nextResource_length = <size_t>len(val)
*/
      }

      /* "cuda/bindings/driver.pyx":18159
 *                 if self._nextResource is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))
 *                 self._nextResource_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._pvt_ptr[0].nextResource = self._nextResource
 *             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, 18159, __pyx_L1_error)
      __pyx_v_self->_nextResource_length = ((size_t)__pyx_t_1);

      /* "cuda/bindings/driver.pyx":18160
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(cydriver.CUdevResource_st)))
 *                 self._nextResource_length = <size_t>len(val)
 *                 self._pvt_ptr[0].nextResource = self._nextResource             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._nextResource[idx], (<CUdevResource_st>val[idx])._pvt_ptr, sizeof(cydriver.CUdevResource_st))
*/
      __pyx_t_9 = __pyx_v_self->_nextResource;
      (__pyx_v_self->_pvt_ptr[0]).nextResource = __pyx_t_9;

      /* "cuda/bindings/driver.pyx":18154
 *             self._pvt_ptr[0].nextResource = NULL
 *         else:
 *             if self._nextResource_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._nextResource)
 *                 self._nextResource = <cydriver.CUdevResource_st*> calloc(len(val), sizeof(cydriver.CUdevResource_st))
*/
    }

    /* "cuda/bindings/driver.pyx":18161
 *                 self._nextResource_length = <size_t>len(val)
 *                 self._pvt_ptr[0].nextResource = self._nextResource
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._nextResource[idx], (<CUdevResource_st>val[idx])._pvt_ptr, sizeof(cydriver.CUdevResource_st))
 * 
*/
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18161, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_1;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":18162
 *                 self._pvt_ptr[0].nextResource = self._nextResource
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._nextResource[idx], (<CUdevResource_st>val[idx])._pvt_ptr, sizeof(cydriver.CUdevResource_st))             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18162, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_self->_nextResource[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource_st *)__pyx_t_3)->_pvt_ptr, (sizeof(struct CUdevResource_st))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18147
 *         arrs = [<void_ptr>self._pvt_ptr[0].nextResource + x*sizeof(cydriver.CUdevResource_st) for x in range(self._nextResource_length)]
 *         return [CUdevResource_st(_ptr=arr) for arr in arrs]
 *     @nextResource.setter             # <<<<<<<<<<<<<<
 *     def nextResource(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_AddTraceback("cuda.bindings.driver.CUdevResource_st.nextResource.__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_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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18179
 *         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, 18179, __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, 18179, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18179, __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, 18179, __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, 18179, __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, 18179, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18179, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18180
 *     """
 *     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":18179
 *         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":18182
 *         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, 18182, __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, 18182, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18182, __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, 18182, __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, 18182, __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, 18182, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18182, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18184
 *     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":18186
 *     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":18187
 *         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, 18187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18186
 *     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":18188
 *     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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "cuda/bindings/driver.pyx":18189
 *         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":18190
 *     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, 18190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18191
 *         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":18192
 *             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, 18192, __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, 18192, __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, 18192, __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, 18192, __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, 18192, __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, 18192, __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":18191
 *         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":18193
 *             try:
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : <ValueError>']
 *             try:
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18193, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/bindings/driver.pyx":18194
 *                 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, 18194, __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, 18194, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18194, __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":18191
 *         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":18195
 *             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":18196
 *                 str_list += ['pArray : <ValueError>']
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']
*/
        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_pPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18196, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyNumber_Hex(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18196, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_mstate_global->__pyx_kp_u_pPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18196, __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, 18196, __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, 18196, __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, 18196, __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":18195
 *             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":18197
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.bindings.driver.anon_union15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(0, 18197, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18198
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
*/
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18198, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __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_10, 0, __pyx_mstate_global->__pyx_kp_u_pPitch_ValueError) != (0)) __PYX_ERR(0, 18198, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18198, __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":18195
 *             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":18199
 *             except ValueError:
 *                 str_list += ['pPitch : <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, 18199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18189
 *         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":18201
 *             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":18188
 *     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":18202
 *         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_10genexpr242__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;
  size_t __pyx_t_8;
  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":18204
 *     @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, 18204, __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_10genexpr242__pyx_v__pArray = (__pyx_t_2[0]);
      __pyx_t_6 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_10genexpr242__pyx_v__pArray)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, NULL};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18204, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_9, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18204, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18204, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 18204, __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":18202
 *         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_9);
  __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":18205
 *     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, 18206, __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_10genexpr243__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;
  size_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  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":18207
 *     @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, 18207, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":18208
 *     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_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18208, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_not_enough_values_found_during_a_2, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IndexError)), __pyx_callargs+__pyx_t_6, (3-__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, 18208, __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, 18208, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":18207
 *     @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":18209
 *         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, 18209, __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, 18209, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_1;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18209, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_10genexpr243__pyx_v__pArray, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_10genexpr243__pyx_v__pArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18209, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 18209, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v__pArray); __pyx_10genexpr243__pyx_v__pArray = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_10genexpr243__pyx_v__pArray); __pyx_10genexpr243__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":18210
 *             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_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, 18210, __pyx_L1_error)
      #endif
      if (__pyx_t_7 >= __pyx_temp) break;
    }
    __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_7;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18210, __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":18211
 *         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_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v__pArray); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18211, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).frame.pArray[__pyx_v__idx]) = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

    /* "cuda/bindings/driver.pyx":18210
 *             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":18205
 *     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_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_10genexpr243__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_v_pArray);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18213
 *             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_10genexpr244__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":18215
 *     @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, 18215, __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_10genexpr244__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_10genexpr244__pyx_v__pPitch)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 18215, __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":18213
 *             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":18216
 *     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, 18217, __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_10genexpr245__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;
  size_t __pyx_t_6;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  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":18218
 *     @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, 18218, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/bindings/driver.pyx":18219
 *     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_t_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18219, __pyx_L1_error)
    __pyx_t_5 = PyLong_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_not_enough_values_found_during_a_2, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IndexError)), __pyx_callargs+__pyx_t_6, (3-__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, 18219, __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, 18219, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":18218
 *     @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":18220
 *         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, 18220, __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, 18220, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_1;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18220, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_10genexpr245__pyx_v__pPitch, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_10genexpr245__pyx_v__pPitch); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18220, __pyx_L6_error)
      __pyx_t_4 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18220, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 18220, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_10genexpr245__pyx_v__pPitch); __pyx_10genexpr245__pyx_v__pPitch = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_10genexpr245__pyx_v__pPitch); __pyx_10genexpr245__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":18221
 *             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_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, 18221, __pyx_L1_error)
      #endif
      if (__pyx_t_8 >= __pyx_temp) break;
    }
    __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_8;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18221, __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":18222
 *         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_7 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v__pPitch); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18222, __pyx_L1_error)
    ((__pyx_v_self->_pvt_ptr[0]).frame.pPitch[__pyx_v__idx]) = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_7));

    /* "cuda/bindings/driver.pyx":18221
 *             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":18216
 *     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_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_10genexpr245__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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18258
 *         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, 18258, __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, 18258, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18258, __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, 18258, __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, 18258, __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, 18258, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18259
 *     """
 *     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":18260
 *     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":18261
 *         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":18259
 *     """
 *     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":18263
 *             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":18258
 *         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":18264
 *         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, 18264, __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, 18264, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18264, __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, 18264, __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, 18264, __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, 18264, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "cuda/bindings/driver.pyx":18266
 *     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_t_3 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_v_self->_pvt_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_3, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 18266, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_anon_union15, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 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, 18266, __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":18264
 *         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_5);
  __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":18267
 *         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":18268
 *         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":18269
 *     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":18268
 *         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":18267
 *         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":18270
 *         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":18271
 *             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, 18271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18270
 *         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":18272
 *     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_10genexpr246__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":18273
 *         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":18274
 *     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, 18274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18275
 *         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":18276
 *             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, 18276, __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, 18276, __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, 18276, __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, 18276, __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, 18276, __pyx_L12_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18276, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_XDECREF_SET(__pyx_10genexpr246__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u__4, __pyx_10genexpr246__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18276, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18276, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_line); __pyx_10genexpr246__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_10genexpr246__pyx_v_line); __pyx_10genexpr246__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, 18276, __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, 18276, __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, 18276, __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, 18276, __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, 18276, __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":18275
 *         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":18277
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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, 18277, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18278
 *                 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, 18278, __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, 18278, __pyx_L6_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18278, __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":18275
 *         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":18279
 *             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":18280
 *                 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, 18280, __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, 18280, __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, 18280, __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, 18280, __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, 18280, __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, 18280, __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":18279
 *             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":18281
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18281, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18282
 *                 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, 18282, __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, 18282, __pyx_L21_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18282, __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":18279
 *             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":18283
 *             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":18284
 *                 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, 18284, __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, 18284, __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, 18284, __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, 18284, __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, 18284, __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, 18284, __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":18283
 *             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":18285
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18285, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18286
 *                 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, 18286, __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, 18286, __pyx_L29_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18286, __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":18283
 *             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":18287
 *             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":18288
 *                 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, 18288, __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, 18288, __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, 18288, __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, 18288, __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, 18288, __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, 18288, __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":18287
 *             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":18289
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18289, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18290
 *                 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, 18290, __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, 18290, __pyx_L37_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18290, __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":18287
 *             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":18291
 *             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":18292
 *                 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, 18292, __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, 18292, __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, 18292, __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, 18292, __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, 18292, __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, 18292, __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":18291
 *             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":18293
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18293, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18294
 *                 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, 18294, __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, 18294, __pyx_L45_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18294, __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":18291
 *             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":18295
 *             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":18296
 *                 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, 18296, __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, 18296, __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, 18296, __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, 18296, __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, 18296, __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, 18296, __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":18295
 *             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":18297
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18297, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18298
 *                 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, 18298, __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, 18298, __pyx_L53_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18298, __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":18295
 *             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":18299
 *             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":18300
 *                 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, 18300, __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, 18300, __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, 18300, __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, 18300, __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, 18300, __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, 18300, __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":18299
 *             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":18301
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18301, __pyx_L61_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18302
 *                 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, 18302, __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, 18302, __pyx_L61_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18302, __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":18299
 *             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":18303
 *             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":18304
 *                 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, 18304, __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, 18304, __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, 18304, __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, 18304, __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, 18304, __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, 18304, __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":18303
 *             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":18305
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18305, __pyx_L69_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18306
 *                 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, 18306, __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, 18306, __pyx_L69_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18306, __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":18303
 *             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":18307
 *             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":18308
 *                 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, 18308, __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, 18308, __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, 18308, __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, 18308, __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, 18308, __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, 18308, __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":18307
 *             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":18309
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18309, __pyx_L77_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/bindings/driver.pyx":18310
 *                 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, 18310, __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, 18310, __pyx_L77_except_error);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18310, __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":18307
 *             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":18311
 *             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":18312
 *                 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, 18312, __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, 18312, __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, 18312, __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, 18312, __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, 18312, __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, 18312, __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":18311
 *             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":18313
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : <ValueError>']
 *             return '\n'.join(str_list)
*/
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_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, 18313, __pyx_L85_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/bindings/driver.pyx":18314
 *                 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, 18314, __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, 18314, __pyx_L85_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18314, __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":18311
 *             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":18315
 *             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, 18315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18273
 *         return <void_ptr>self._pvt_ptr
 *     def __repr__(self):
 *         if self._pvt_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
*/
  }

  /* "cuda/bindings/driver.pyx":18317
 *             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":18272
 *     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_10genexpr246__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":18318
 *         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":18320
 *     @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":18318
 *         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":18321
 *     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, 18322, __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":18323
 *     @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((PyObject*)__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, 18323, __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, 18323, __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":18321
 *     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":18324
 *     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":18326
 *     @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, 18326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18324
 *     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":18327
 *     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, 18328, __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":18329
 *     @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":18327
 *     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":18330
 *     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":18332
 *     @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, 18332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18330
 *     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":18333
 *     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, 18334, __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":18335
 *     @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":18333
 *     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":18336
 *     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":18338
 *     @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, 18338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18336
 *     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":18339
 *     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, 18340, __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":18341
 *     @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":18339
 *     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":18342
 *     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":18344
 *     @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, 18344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18342
 *     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":18345
 *     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, 18346, __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":18347
 *     @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":18345
 *     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":18348
 *     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":18350
 *     @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, 18350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18348
 *     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":18351
 *     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, 18352, __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":18353
 *     @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":18351
 *     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":18354
 *     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":18356
 *     @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, 18356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18354
 *     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":18357
 *     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, 18358, __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":18359
 *     @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":18357
 *     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":18360
 *     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":18362
 *     @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, 18362, __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, 18362, __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, 18362, __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":18363
 *     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":18362
 *     @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":18364
 *         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, 18364, __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, 18364, __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, 18364, __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":18360
 *     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":18365
 *             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, 18366, __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":18367
 *     @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, 18367, __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, 18367, __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":18365
 *             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":18368
 *     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":18370
 *     @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, 18370, __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, 18370, __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, 18370, __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":18371
 *     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":18370
 *     @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":18372
 *         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, 18372, __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, 18372, __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, 18372, __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":18368
 *     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":18373
 *             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, 18374, __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":18375
 *     @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, 18375, __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, 18375, __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":18373
 *             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":18376
 *     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":18378
 *     @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, 18378, __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, 18378, __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, 18378, __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":18379
 *     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":18378
 *     @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":18380
 *         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, 18380, __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, 18380, __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, 18380, __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":18376
 *     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":18381
 *             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, 18382, __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":18383
 *     @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, 18383, __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, 18383, __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":18381
 *             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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18394
 * 
 *     """
 *     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, 18394, __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, 18394, __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, 18394, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18394, __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, 18394, __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, 18394, __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, 18394, __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, 18394, __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, 18394, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18395
 *     """
 *     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":18396
 *     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":18395
 *     """
 *     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":18398
 *             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":18399
 *         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":18400
 *             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":18399
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint32_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18394
 * 
 *     """
 *     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":18401
 *         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":18403
 *     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":18404
 *         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((PyObject*)__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, 18404, __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, 18404, __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, 18404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18404, __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":18403
 *     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":18405
 *     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":18406
 *         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, 18406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18405
 *     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":18407
 *     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":18408
 *         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, 18408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18407
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18419
 * 
 *     """
 *     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, 18419, __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, 18419, __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, 18419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18419, __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, 18419, __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, 18419, __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, 18419, __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, 18419, __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, 18419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18420
 *     """
 *     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":18421
 *     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":18420
 *     """
 *     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":18423
 *             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":18424
 *         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":18425
 *             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":18424
 *         else:
 *             self._pvt_ptr = <cydriver.cuuint64_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18419
 * 
 *     """
 *     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":18426
 *         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":18428
 *     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":18429
 *         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((PyObject*)__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, 18429, __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, 18429, __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, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18429, __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":18428
 *     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":18430
 *     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":18431
 *         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, 18431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18430
 *     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":18432
 *     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":18433
 *         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, 18433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18432
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18446
 * 
 *     """
 *     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, 18446, __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, 18446, __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, 18446, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18446, __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, 18446, __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, 18446, __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, 18446, __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, 18446, __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, 18446, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18447
 *     """
 *     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":18448
 *     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":18447
 *     """
 *     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":18450
 *             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":18451
 *         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":18452
 *             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":18451
 *         else:
 *             self._pvt_ptr = <cydriver.CUdeviceptr_v2 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18446
 * 
 *     """
 *     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":18453
 *         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":18455
 *     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":18456
 *         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((PyObject*)__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, 18456, __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, 18456, __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, 18456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18456, __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":18455
 *     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":18457
 *     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":18458
 *         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, 18458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18457
 *     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":18459
 *     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":18460
 *         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, 18460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18459
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18473
 * 
 *     """
 *     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, 18473, __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, 18473, __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, 18473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18473, __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, 18473, __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, 18473, __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, 18473, __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, 18473, __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, 18473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18474
 *     """
 *     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":18475
 *     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":18474
 *     """
 *     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":18477
 *             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":18478
 *         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":18479
 *             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":18478
 *         else:
 *             self._pvt_ptr = <cydriver.CUdevice_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18473
 * 
 *     """
 *     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":18480
 *         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":18482
 *     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":18483
 *         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((PyObject*)__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, 18483, __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, 18483, __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, 18483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18483, __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":18482
 *     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":18484
 *     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":18485
 *         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, 18485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18484
 *     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":18486
 *     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":18487
 *         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, 18487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18486
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18500
 * 
 *     """
 *     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, 18500, __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, 18500, __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, 18500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18500, __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, 18500, __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, 18500, __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, 18500, __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, 18500, __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, 18500, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18501
 *     """
 *     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":18502
 *     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":18501
 *     """
 *     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":18504
 *             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":18505
 *         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":18506
 *             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":18505
 *         else:
 *             self._pvt_ptr = <cydriver.CUtexObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18500
 * 
 *     """
 *     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":18507
 *         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":18509
 *     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":18510
 *         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((PyObject*)__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, 18510, __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, 18510, __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, 18510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18510, __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":18509
 *     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":18511
 *     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":18512
 *         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, 18512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18511
 *     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":18513
 *     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":18514
 *         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, 18514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18513
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18527
 * 
 *     """
 *     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, 18527, __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, 18527, __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, 18527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18527, __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, 18527, __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, 18527, __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, 18527, __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, 18527, __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, 18527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18528
 *     """
 *     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":18529
 *     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":18528
 *     """
 *     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":18531
 *             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":18532
 *         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":18533
 *             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":18532
 *         else:
 *             self._pvt_ptr = <cydriver.CUsurfObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18527
 * 
 *     """
 *     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":18534
 *         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":18536
 *     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":18537
 *         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((PyObject*)__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, 18537, __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, 18537, __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, 18537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18537, __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":18536
 *     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":18538
 *     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":18539
 *         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, 18539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18538
 *     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":18540
 *     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":18541
 *         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, 18541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18540
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18552
 * 
 *     """
 *     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, 18552, __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, 18552, __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, 18552, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18552, __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, 18552, __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, 18552, __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, 18552, __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, 18552, __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, 18552, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18553
 *     """
 *     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":18554
 *     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":18553
 *     """
 *     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":18556
 *             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":18557
 *         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":18558
 *             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":18557
 *         else:
 *             self._pvt_ptr = <cydriver.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18552
 * 
 *     """
 *     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":18559
 *         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":18561
 *     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":18562
 *         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((PyObject*)__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, 18562, __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, 18562, __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, 18562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18562, __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":18561
 *     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":18563
 *     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":18564
 *         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, 18564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18563
 *     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":18565
 *     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":18566
 *         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, 18566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18565
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18577
 * 
 *     """
 *     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, 18577, __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, 18577, __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, 18577, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18577, __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, 18577, __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, 18577, __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, 18577, __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, 18577, __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, 18577, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18578
 *     """
 *     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":18579
 *     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":18578
 *     """
 *     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":18581
 *             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":18582
 *         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":18583
 *             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":18582
 *         else:
 *             self._pvt_ptr = <cydriver.CUlogIterator *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18577
 * 
 *     """
 *     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":18584
 *         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":18586
 *     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":18587
 *         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((PyObject*)__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, 18587, __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, 18587, __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, 18587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18587, __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":18586
 *     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":18588
 *     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":18589
 *         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, 18589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18588
 *     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":18590
 *     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":18591
 *         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, 18591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18590
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18602
 * 
 *     """
 *     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, 18602, __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, 18602, __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, 18602, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18602, __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, 18602, __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, 18602, __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, 18602, __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, 18602, __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, 18602, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18603
 *     """
 *     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":18604
 *     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":18603
 *     """
 *     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":18606
 *             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":18607
 *         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":18608
 *             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":18607
 *         else:
 *             self._pvt_ptr = <cydriver.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18602
 * 
 *     """
 *     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":18609
 *         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":18611
 *     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":18612
 *         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((PyObject*)__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, 18612, __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, 18612, __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, 18612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18612, __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":18611
 *     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":18613
 *     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":18614
 *         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, 18614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18613
 *     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":18615
 *     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":18616
 *         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, 18616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18615
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18627
 * 
 *     """
 *     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, 18627, __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, 18627, __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, 18627, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18627, __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, 18627, __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, 18627, __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, 18627, __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, 18627, __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, 18627, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18628
 *     """
 *     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":18629
 *     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":18628
 *     """
 *     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":18631
 *             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":18632
 *         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":18633
 *             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":18632
 *         else:
 *             self._pvt_ptr = <cydriver.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18627
 * 
 *     """
 *     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":18634
 *         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":18636
 *     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":18637
 *         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((PyObject*)__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, 18637, __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, 18637, __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, 18637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18637, __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":18636
 *     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":18638
 *     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":18639
 *         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, 18639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18638
 *     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":18640
 *     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":18641
 *         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, 18641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18640
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18652
 * 
 *     """
 *     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, 18652, __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, 18652, __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, 18652, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18652, __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, 18652, __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, 18652, __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, 18652, __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, 18652, __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, 18652, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18653
 *     """
 *     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":18654
 *     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":18653
 *     """
 *     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":18656
 *             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":18657
 *         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":18658
 *             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":18657
 *         else:
 *             self._pvt_ptr = <cydriver.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18652
 * 
 *     """
 *     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":18659
 *         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":18661
 *     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":18662
 *         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((PyObject*)__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, 18662, __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, 18662, __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, 18662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18662, __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":18661
 *     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":18663
 *     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":18664
 *         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, 18664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18663
 *     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":18665
 *     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":18666
 *         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, 18666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18665
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18677
 * 
 *     """
 *     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, 18677, __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, 18677, __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, 18677, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18677, __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, 18677, __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, 18677, __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, 18677, __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, 18677, __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, 18677, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18678
 *     """
 *     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":18679
 *     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":18678
 *     """
 *     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":18681
 *             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":18682
 *         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":18683
 *             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":18682
 *         else:
 *             self._pvt_ptr = <cydriver.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18677
 * 
 *     """
 *     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":18684
 *         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":18686
 *     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":18687
 *         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((PyObject*)__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, 18687, __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, 18687, __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, 18687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18687, __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":18686
 *     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":18688
 *     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":18689
 *         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, 18689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18688
 *     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":18690
 *     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":18691
 *         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, 18691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18690
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18702
 * 
 *     """
 *     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, 18702, __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, 18702, __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, 18702, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18702, __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, 18702, __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, 18702, __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, 18702, __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, 18702, __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, 18702, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18703
 *     """
 *     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":18704
 *     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":18703
 *     """
 *     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":18706
 *             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":18707
 *         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":18708
 *             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":18707
 *         else:
 *             self._pvt_ptr = <cydriver.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18702
 * 
 *     """
 *     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":18709
 *         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":18711
 *     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":18712
 *         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((PyObject*)__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, 18712, __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, 18712, __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, 18712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18712, __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":18711
 *     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":18713
 *     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":18714
 *         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, 18714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18713
 *     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":18715
 *     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":18716
 *         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, 18716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18715
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18727
 * 
 *     """
 *     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, 18727, __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, 18727, __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, 18727, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18727, __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, 18727, __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, 18727, __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, 18727, __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, 18727, __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, 18727, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18728
 *     """
 *     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":18729
 *     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":18728
 *     """
 *     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":18731
 *             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":18732
 *         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":18733
 *             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":18732
 *         else:
 *             self._pvt_ptr = <cydriver.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18727
 * 
 *     """
 *     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":18734
 *         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":18736
 *     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":18737
 *         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((PyObject*)__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, 18737, __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, 18737, __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, 18737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18737, __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":18736
 *     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":18738
 *     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":18739
 *         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, 18739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18738
 *     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":18740
 *     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":18741
 *         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, 18741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18740
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18752
 * 
 *     """
 *     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, 18752, __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, 18752, __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, 18752, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18752, __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, 18752, __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, 18752, __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, 18752, __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, 18752, __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, 18752, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18753
 *     """
 *     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":18754
 *     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":18753
 *     """
 *     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":18756
 *             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":18757
 *         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":18758
 *             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":18757
 *         else:
 *             self._pvt_ptr = <cydriver.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._pvt_ptr[0] = init_value
 *     def __dealloc__(self):
*/
  }

  /* "cuda/bindings/driver.pyx":18752
 * 
 *     """
 *     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":18759
 *         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":18761
 *     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":18762
 *         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((PyObject*)__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, 18762, __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, 18762, __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, 18762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18762, __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":18761
 *     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":18763
 *     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":18764
 *         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, 18764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18763
 *     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":18765
 *     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":18766
 *         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, 18766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18765
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":18768
 *         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, 18768, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 18768, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18768, __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, 18768, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18768, __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, 18768, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 18769, __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":18793
 *     :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, 18793, __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, 18793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyerror = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":18794
 *     """
 *     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":18795
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18796
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18796, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/bindings/driver.pyx":18795
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18797
 *     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":18798
 *         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, 18798, __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, 18798, __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, 18798, __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, 18798, __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, 18798, __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, 18798, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18797
 *     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":18799
 *     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, 18799, __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, 18799, __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, 18799, __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, 18799, __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, 18799, __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, 18799, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 18799, __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":18768
 *         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":18801
 *     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, 18801, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 18801, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18801, __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, 18801, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18801, __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, 18801, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 18802, __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":18826
 *     :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, 18826, __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, 18826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyerror = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":18827
 *     """
 *     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":18828
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18829
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18829, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/bindings/driver.pyx":18828
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18830
 *     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":18831
 *         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, 18831, __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, 18831, __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, 18831, __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, 18831, __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, 18831, __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, 18831, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18830
 *     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":18832
 *     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, 18832, __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, 18832, __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, 18832, __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, 18832, __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, 18832, __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, 18832, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 18832, __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":18801
 *     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":18834
 *     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\nNote: cuInit preloads various libraries needed for JIT compilation. To\nopt-out of this behavior, set the environment variable\nCUDA_FORCE_PRELOAD_LIBRARIES=0. CUDA will lazily load JIT libraries as\nneeded. To disable JIT entirely, set the environment variable\nCUDA_DISABLE_JIT=1.\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, 18834, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 18834, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18834, __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, 18834, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18834, __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, 18835, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuInit", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18834, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":18854
 *         :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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18855
 *     """
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18855, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":18854
 *         :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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18856
 *     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, 18856, __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, 18856, __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, 18856, __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, 18856, __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, 18856, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18834
 *     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":18858
 *     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":18880
 *     :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cudaRuntimeGetVersion`
 *     """
 *     cdef int driverVersion = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
*/
  __pyx_v_driverVersion = 0;

  /* "cuda/bindings/driver.pyx":18881
 *     """
 *     cdef int driverVersion = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18882
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18882, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":18881
 *     """
 *     cdef int driverVersion = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDriverGetVersion(&driverVersion)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18883
 *     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":18884
 *         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, 18884, __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, 18884, __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, 18884, __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, 18884, __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, 18884, __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, 18884, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18883
 *     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":18885
 *     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, 18885, __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, 18885, __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, 18885, __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, 18885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18885, __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, 18885, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 18885, __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":18858
 *     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":18887
 *     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, 18887, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 18887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18887, __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, 18887, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18887, __pyx_L3_error)
    }
    __pyx_v_ordinal = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_ordinal == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18888, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGet", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 18887, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGet", 0);

  /* "cuda/bindings/driver.pyx":18910
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18910, __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":18911
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGet(<cydriver.CUdevice*>device._pvt_ptr, ordinal)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18912
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGet(((CUdevice *)__pyx_v_device->_pvt_ptr), __pyx_v_ordinal); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18912, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":18911
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18913
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":18914
 *         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, 18914, __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, 18914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 18914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 18914, __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, 18914, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18913
 *     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":18915
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18915, __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, 18915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 18915, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 18915, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18887
 *     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_6);
  __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":18917
 *     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":18936
 *     :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":18937
 *     """
 *     cdef int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18938
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18938, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":18937
 *     """
 *     cdef int count = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetCount(&count)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":18939
 *     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":18940
 *         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, 18940, __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, 18940, __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, 18940, __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, 18940, __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, 18940, __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, 18940, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18939
 *     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":18941
 *     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, 18941, __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, 18941, __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, 18941, __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, 18941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18941, __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, 18941, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 18941, __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":18917
 *     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":18943
 *     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, 18943, __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, 18943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18943, __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, 18943, __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, 18943, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 18943, __pyx_L3_error)
    }
    __pyx_v_length = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18944, __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, 18943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  char *__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("cuDeviceGetName", 0);

  /* "cuda/bindings/driver.pyx":18971
 *     """
 *     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":18972
 *     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":18971
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18973
 *     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":18974
 *         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, 18974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":18973
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":18976
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18976, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":18977
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pyname = b" " * length
 *     cdef char* name = pyname
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 18977, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":18978
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* name = pyname
 *     with nogil:
*/
  __pyx_t_3 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_b__5, __pyx_v_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyname = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":18979
 *     cydev = <cydriver.CUdevice>pdev
 *     pyname = b" " * length
 *     cdef char* name = pyname             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
*/
  __pyx_t_6 = __Pyx_PyBytes_AsWritableString(__pyx_v_pyname); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 18979, __pyx_L1_error)
  __pyx_v_name = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":18980
 *     pyname = b" " * length
 *     cdef char* name = pyname
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetName(name, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":18981
 *     cdef char* name = pyname
 *     with nogil:
 *         err = cydriver.cuDeviceGetName(name, length, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetName(__pyx_v_name, __pyx_v_length, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18981, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":18980
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":18982
 *     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":18983
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18983, __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, 18983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 18983, __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, 18983, __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, 18983, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":18982
 *     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":18984
 *     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, 18984, __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, 18984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 18984, __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, 18984, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyname);
  __Pyx_GIVEREF(__pyx_v_pyname);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_pyname) != (0)) __PYX_ERR(0, 18984, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18943
 *     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_8);
  __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":18986
 *     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\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_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, 18986, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 18986, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 18986, __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, 18986, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 18986, __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, 18986, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetUuid", 0);

  /* "cuda/bindings/driver.pyx":19011
 *     """
 *     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":19012
 *     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":19011
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19013
 *     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":19014
 *         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, 19014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19013
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19016
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19016, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19017
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUuuid uuid = CUuuid()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19017, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19018
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuuid, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19018, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_uuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19019
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19020
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetUuid(((CUuuid *)__pyx_v_uuid->__pyx_base._pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19020, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19019
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19021
 *     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":19022
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19022, __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, 19022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19022, __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, 19022, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19021
 *     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":19023
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19023, __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, 19023, __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, 19023, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19023, __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, 19023, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_uuid);
  __Pyx_GIVEREF((PyObject *)__pyx_v_uuid);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_uuid)) != (0)) __PYX_ERR(0, 19023, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":18986
 *     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_7);
  __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":19025
 *     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_17cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_16cuDeviceGetLuid, "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_17cuDeviceGetLuid = {"cuDeviceGetLuid", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_17cuDeviceGetLuid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_16cuDeviceGetLuid};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_17cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_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, 19025, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19025, __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, 19025, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19025, __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, 19025, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_16cuDeviceGetLuid(__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_16cuDeviceGetLuid(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuDeviceGetLuid", 0);

  /* "cuda/bindings/driver.pyx":19051
 *     """
 *     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":19052
 *     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":19051
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19053
 *     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":19054
 *         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, 19054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19053
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19056
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef char luid[8]
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19056, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19057
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19057, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19059
 *     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":19060
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19061
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetLuid(__pyx_v_luid, (&__pyx_v_deviceNodeMask), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19061, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19060
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19062
 *     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":19063
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19063, __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, 19063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19063, __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, 19063, __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, 19063, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19062
 *     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":19064
 *     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, 19064, __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, 19064, __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, 19064, __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 = __Pyx_PyBytes_FromString(__pyx_v_luid); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_deviceNodeMask); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19064, __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, 19064, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_7));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_7));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 19064, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 19064, __pyx_L1_error);
  __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19025
 *     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_7);
  __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":19066
 *     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_19cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_18cuDeviceTotalMem, "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_19cuDeviceTotalMem = {"cuDeviceTotalMem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_19cuDeviceTotalMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_18cuDeviceTotalMem};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_19cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_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, 19066, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19066, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19066, __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, 19066, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19066, __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, 19066, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_18cuDeviceTotalMem(__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_18cuDeviceTotalMem(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceTotalMem", 0);

  /* "cuda/bindings/driver.pyx":19090
 *     """
 *     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":19091
 *     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":19090
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19092
 *     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":19093
 *         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, 19093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19092
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19095
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19095, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19096
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19096, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19097
 *         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":19098
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t numbytes = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19099
 *     cdef size_t numbytes = 0
 *     with nogil:
 *         err = cydriver.cuDeviceTotalMem(&numbytes, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceTotalMem((&__pyx_v_numbytes), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19099, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19098
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19100
 *     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":19101
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19101, __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, 19101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19101, __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, 19101, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19100
 *     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":19102
 *     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, 19102, __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, 19102, __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, 19102, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19102, __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, 19102, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 19102, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19066
 *     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_7);
  __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":19104
 *     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_21cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_20cuDeviceGetTexture1DLinearMaxWidth, "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_21cuDeviceGetTexture1DLinearMaxWidth = {"cuDeviceGetTexture1DLinearMaxWidth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_21cuDeviceGetTexture1DLinearMaxWidth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_20cuDeviceGetTexture1DLinearMaxWidth};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_21cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_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, 19104, __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, 19104, __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, 19104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19104, __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, 19104, __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, 19104, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19104, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19104, __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, 19105, __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, 19104, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 19105, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_20cuDeviceGetTexture1DLinearMaxWidth(__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_20cuDeviceGetTexture1DLinearMaxWidth(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUarray_format __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("cuDeviceGetTexture1DLinearMaxWidth", 0);

  /* "cuda/bindings/driver.pyx":19134
 *     """
 *     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":19135
 *     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":19134
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19136
 *     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":19137
 *         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, 19137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19136
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19139
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19139, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19140
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t maxWidthInElements = 0
 *     cdef cydriver.CUarray_format cypformat = pformat.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19140, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19141
 *         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":19142
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pformat, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cypformat = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":19143
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19144
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetTexture1DLinearMaxWidth((&__pyx_v_maxWidthInElements), __pyx_v_cypformat, __pyx_v_numChannels, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19144, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19143
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19145
 *     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":19146
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19146, __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, 19146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 19146, __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, 19146, __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, 19146, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19145
 *     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":19147
 *     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, 19147, __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, 19147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_maxWidthInElements); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19147, __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, 19147, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 19147, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19104
 *     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_8);
  __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":19149
 *     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_23cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_22cuDeviceGetAttribute, "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`.\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_23cuDeviceGetAttribute = {"cuDeviceGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_23cuDeviceGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22cuDeviceGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_23cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 19149, __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, 19149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19149, __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, 19149, __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, 19149, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19149, __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, 19149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 19150, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_22cuDeviceGetAttribute(__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_22cuDeviceGetAttribute(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUdevice_attribute __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("cuDeviceGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":19175
 *     """
 *     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":19176
 *     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":19175
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19177
 *     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":19178
 *         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, 19178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19177
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19180
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19180, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19181
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUdevice_attribute cyattrib = attrib.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19181, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19182
 *         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":19183
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUdevice_attribute_enum)__Pyx_PyLong_As_enum__CUdevice_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":19184
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19185
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19185, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19184
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19186
 *     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":19187
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19187, __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, 19187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 19187, __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, 19187, __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, 19187, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19186
 *     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":19188
 *     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, 19188, __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, 19188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19188, __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, 19188, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 19188, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19149
 *     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_8);
  __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":19190
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetHostAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, dev):
 *     """ Queries details about atomic operations supported between the device and host.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetHostAtomicCapabilities(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_24cuDeviceGetHostAtomicCapabilities, "cuDeviceGetHostAtomicCapabilities(operations: Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, dev)\n\nQueries details about atomic operations supported between the device and host.\n\nReturns in `*capabilities` the details about requested atomic\n`*operations` over the the link between `dev` and the host. The\nallocated size of `*operations` and `*capabilities` must be `count`.\n\nFor each :py:obj:`~.CUatomicOperation` in `*operations`, the\ncorresponding result in `*capabilities` will be a bitmask indicating\nwhich of :py:obj:`~.CUatomicOperationCapability` the link supports\nnatively.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_DEVICE` if `dev` is not valid.\n\nReturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `*capabilities` or\n`*operations` is NULL, if `count` is 0, or if any of `*operations` is\nnot valid.\n\nParameters\n----------\noperations : list[:py:obj:`~.CUatomicOperation`]\n    Requested operations\ncount : unsigned int\n    Count of requested operations and size of capabilities\ndev : :py:obj:`~.CUdevice`\n    Device handle\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncapabilities : list[unsigned int]\n    Returned capability details of each requested operation\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetP2PAtomicCapabilities`, :py:obj:`~.cudaDeviceGeHostAtomicCapabilities`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_25cuDeviceGetHostAtomicCapabilities = {"cuDeviceGetHostAtomicCapabilities", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetHostAtomicCapabilities, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_24cuDeviceGetHostAtomicCapabilities};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_25cuDeviceGetHostAtomicCapabilities(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_operations = 0;
  unsigned int __pyx_v_count;
  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("cuDeviceGetHostAtomicCapabilities (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_operations,&__pyx_mstate_global->__pyx_n_u_count_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, 19190, __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, 19190, __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, 19190, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19190, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetHostAtomicCapabilities", 0) < (0)) __PYX_ERR(0, 19190, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetHostAtomicCapabilities", 1, 3, 3, i); __PYX_ERR(0, 19190, __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, 19190, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19190, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19190, __pyx_L3_error)
    }
    __pyx_v_operations = 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, 19191, __pyx_L3_error)
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetHostAtomicCapabilities", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 19190, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetHostAtomicCapabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetHostAtomicCapabilities(__pyx_self, __pyx_v_operations, __pyx_v_count, __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_33cuDeviceGetHostAtomicCapabilities_2generator120(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":19238
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuDeviceGetHostAtomicCapabilities_genexpr(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, 19238, __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_33cuDeviceGetHostAtomicCapabilities_2generator120, ((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_cuDeviceGetHostAtomicCapabilitie, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 19238, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetHostAtomicCapabilities.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_33cuDeviceGetHostAtomicCapabilities_2generator120(__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, 19238, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 19238, __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, 19238, __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, 19238, __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, 19238, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 19238, __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, 19238, __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, 19238, __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_CUatomicOperation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19238, __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, 19238, __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":19190
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetHostAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, dev):
 *     """ Queries details about atomic operations supported between the device and host.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_24cuDeviceGetHostAtomicCapabilities(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_operations, unsigned int __pyx_v_count, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cydev;
  PyObject *__pyx_v_pdev = NULL;
  unsigned int *__pyx_v_cycapabilities;
  PyObject *__pyx_v_pycapabilities = NULL;
  std::vector<CUatomicOperation>  __pyx_v_cyoperations;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuDeviceGetHostAtomicCapabilities_2generator120 = 0;
  PyObject *__pyx_10genexpr248__pyx_v_pyoperations = NULL;
  unsigned int __pyx_10genexpr249__pyx_v_idx;
  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;
  CUdevice __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  std::vector<CUatomicOperation>  __pyx_t_12;
  CUresult __pyx_t_13;
  unsigned int __pyx_t_14;
  unsigned int __pyx_t_15;
  unsigned int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetHostAtomicCapabilities", 0);
  __Pyx_INCREF(__pyx_v_operations);

  /* "cuda/bindings/driver.pyx":19230
 *     """
 *     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":19231
 *     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":19230
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19232
 *     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":19233
 *         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, 19233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19232
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19235
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19235, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19236
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19236, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19237
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
*/
  __pyx_t_1 = (__pyx_v_operations == Py_None);
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_operations);
    __pyx_t_3 = __pyx_v_operations;
  }
  __Pyx_DECREF_SET(__pyx_v_operations, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19238
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_33cuDeviceGetHostAtomicCapabilities_genexpr(NULL, __pyx_v_operations); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 19238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":19239
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")             # <<<<<<<<<<<<<<
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_operations_is_not_insta};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19239, __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, 19239, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":19238
 *     cydev = <cydriver.CUdevice>pdev
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":19240
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL             # <<<<<<<<<<<<<<
 *     pycapabilities = []
 *     if count != 0:
*/
  __pyx_v_cycapabilities = NULL;

  /* "cuda/bindings/driver.pyx":19241
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []             # <<<<<<<<<<<<<<
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pycapabilities = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":19242
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
 *     if count != 0:             # <<<<<<<<<<<<<<
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
*/
  __pyx_t_6 = (__pyx_v_count != 0);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":19243
 *     pycapabilities = []
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))             # <<<<<<<<<<<<<<
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
*/
    __pyx_v_cycapabilities = ((unsigned int *)calloc(__pyx_v_count, (sizeof(unsigned int))));

    /* "cuda/bindings/driver.pyx":19244
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
*/
    __pyx_t_6 = (__pyx_v_cycapabilities == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":19245
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
*/
      __pyx_t_3 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19245, __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, 19245, __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, 19245, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19245, __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(unsigned int))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19245, __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, 19245, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19245, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19245, __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, 19245, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":19244
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
*/
    }

    /* "cuda/bindings/driver.pyx":19242
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
 *     if count != 0:             # <<<<<<<<<<<<<<
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":19246
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]             # <<<<<<<<<<<<<<
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:
*/
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19246, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_v_operations)) || PyTuple_CheckExact(__pyx_v_operations)) {
      __pyx_t_7 = __pyx_v_operations; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_10 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_operations); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19246, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 19246, __pyx_L9_error)
    }
    for (;;) {
      if (likely(!__pyx_t_11)) {
        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(0, 19246, __pyx_L9_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_10;
        } 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(0, 19246, __pyx_L9_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10);
          #endif
          ++__pyx_t_10;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19246, __pyx_L9_error)
      } else {
        __pyx_t_3 = __pyx_t_11(__pyx_t_7);
        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, 19246, __pyx_L9_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr248__pyx_v_pyoperations, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr248__pyx_v_pyoperations, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19246, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 19246, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr248__pyx_v_pyoperations); __pyx_10genexpr248__pyx_v_pyoperations = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr248__pyx_v_pyoperations); __pyx_10genexpr248__pyx_v_pyoperations = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_12 = __pyx_convert_vector_from_py_CUatomicOperation(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyoperations = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_12);

  /* "cuda/bindings/driver.pyx":19247
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
*/
  __pyx_t_10 = PyObject_Length(__pyx_v_operations); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19247, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > __pyx_t_10);
  if (unlikely(__pyx_t_6)) {
    __pyx_t_7 = NULL;
    __pyx_t_10 = PyObject_Length(__pyx_v_operations); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19247, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19247, __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, 19247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 19247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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, 19247, __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, 19247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19247, __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, 19247, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":19248
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19249
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
*/
        __pyx_t_13 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetHostAtomicCapabilities(__pyx_v_cycapabilities, __pyx_v_cyoperations.data(), __pyx_v_count, __pyx_v_cydev); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19249, __pyx_L16_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":19248
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L17;
        }
        __pyx_L16_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L17:;
      }
  }

  /* "cuda/bindings/driver.pyx":19250
 *     with nogil:
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities 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, 19250, __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, 19250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__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_2)) __PYX_ERR(0, 19250, __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, 19250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __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;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19250, __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, 19250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 19250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":19251
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]             # <<<<<<<<<<<<<<
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19251, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_14 = __pyx_v_count;
      __pyx_t_15 = __pyx_t_14;
      for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
        __pyx_10genexpr249__pyx_v_idx = __pyx_t_16;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_cycapabilities[__pyx_10genexpr249__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19251, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 19251, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pycapabilities, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":19250
 *     with nogil:
 *         err = cydriver.cuDeviceGetHostAtomicCapabilities(cycapabilities, cyoperations.data(), count, cydev)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":19252
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:             # <<<<<<<<<<<<<<
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_6 = (__pyx_v_cycapabilities != NULL);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":19253
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cycapabilities);

    /* "cuda/bindings/driver.pyx":19252
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:             # <<<<<<<<<<<<<<
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":19254
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":19255
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pycapabilities)
 * 
*/
    __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, 19255, __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, 19255, __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, 19255, __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, 19255, __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, 19255, __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, 19255, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19254
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)
*/
  }

  /* "cuda/bindings/driver.pyx":19256
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)             # <<<<<<<<<<<<<<
 * 
 * @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, 19256, __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, 19256, __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, 19256, __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, 19256, __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, 19256, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pycapabilities);
  __Pyx_GIVEREF(__pyx_v_pycapabilities);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pycapabilities) != (0)) __PYX_ERR(0, 19256, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19190
 *     return (_dict_CUresult[err], pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetHostAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, dev):
 *     """ Queries details about atomic operations supported between the device and host.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetHostAtomicCapabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pycapabilities);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuDeviceGetHostAtomicCapabilities_2generator120);
  __Pyx_XDECREF(__pyx_10genexpr248__pyx_v_pyoperations);
  __Pyx_XDECREF(__pyx_v_operations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":19258
 *     return (_dict_CUresult[err], pycapabilities)
 * 
 * @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, 19258, __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, 19258, __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, 19258, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19258, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19258, __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, 19258, __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, 19258, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19258, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19258, __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, 19259, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 19258, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __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("cuDeviceGetNvSciSyncAttributes", 0);

  /* "cuda/bindings/driver.pyx":19340
 *     """
 *     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":19341
 *     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":19340
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19342
 *     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":19343
 *         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, 19343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19342
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19345
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19345, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19346
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cynvSciSyncAttrList = _HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19346, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19347
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_nvSciSyncAttrList};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19347, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cynvSciSyncAttrList = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19348
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cynvSciSyncAttrList), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19348, __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, 19348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cynvSciSyncAttrList_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":19349
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19350
 *     cdef void* cynvSciSyncAttrList_ptr = <void*><void_ptr>cynvSciSyncAttrList.cptr
 *     with nogil:
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetNvSciSyncAttributes(__pyx_v_cynvSciSyncAttrList_ptr, __pyx_v_cydev, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19350, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19349
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19351
 *     with nogil:
 *         err = cydriver.cuDeviceGetNvSciSyncAttributes(cynvSciSyncAttrList_ptr, cydev, 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, 19351, __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, 19351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 19351, __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, 19351, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19258
 *     return (_dict_CUresult[err], pycapabilities)
 * 
 * @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_8);
  __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":19353
 *     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, 19353, __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, 19353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19353, __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, 19353, __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, 19353, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19353, __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, 19353, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuDeviceSetMemPool", 0);

  /* "cuda/bindings/driver.pyx":19383
 *     """
 *     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":19384
 *     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":19383
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19385
 *     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":19386
 *         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, 19386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19385
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19388
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19388, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19389
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19389, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":19391
 *     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":19392
 *     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":19391
 *     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":19393
 *     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":19394
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":19393
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":19396
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19396, __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, 19396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":19397
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19397, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":19398
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19399
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetMemPool(__pyx_v_cydev, __pyx_v_cypool); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19399, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19398
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":19400
 *     with nogil:
 *         err = cydriver.cuDeviceSetMemPool(cydev, cypool)
 *     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, 19400, __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, 19400, __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, 19400, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19400, __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, 19400, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19353
 *     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_8);
  __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":19402
 *     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, 19402, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19402, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19402, __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, 19402, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19402, __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, 19402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetMemPool", 0);

  /* "cuda/bindings/driver.pyx":19429
 *     """
 *     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":19430
 *     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":19429
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19431
 *     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":19432
 *         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, 19432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19431
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19434
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19434, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19435
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19435, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19436
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19436, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pool = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19437
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19438
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetMemPool(((CUmemoryPool *)__pyx_v_pool->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19438, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19437
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19439
 *     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":19440
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19440, __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, 19440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19440, __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, 19440, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19439
 *     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":19441
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19441, __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, 19441, __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, 19441, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19441, __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, 19441, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pool)) != (0)) __PYX_ERR(0, 19441, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19402
 *     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_7);
  __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":19443
 *     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, 19443, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19443, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19443, __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, 19443, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19443, __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, 19443, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetDefaultMemPool", 0);

  /* "cuda/bindings/driver.pyx":19467
 *     """
 *     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":19468
 *     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":19467
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19469
 *     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":19470
 *         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, 19470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19469
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19472
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19472, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19473
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19473, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19474
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19474, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pool_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19475
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19476
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetDefaultMemPool(((CUmemoryPool *)__pyx_v_pool_out->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19476, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19475
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19477
 *     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":19478
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19478, __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, 19478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19478, __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, 19478, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19477
 *     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":19479
 *     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, 19479, __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, 19479, __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, 19479, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19479, __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, 19479, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pool_out)) != (0)) __PYX_ERR(0, 19479, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19443
 *     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_7);
  __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":19481
 *     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, 19481, __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, 19481, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19481, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19481, __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, 19481, __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, 19481, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19481, __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, 19481, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 19482, __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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUexecAffinityType __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("cuDeviceGetExecAffinitySupport", 0);

  /* "cuda/bindings/driver.pyx":19511
 *     """
 *     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":19512
 *     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":19511
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19513
 *     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":19514
 *         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, 19514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19513
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19516
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19516, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19517
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19517, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19518
 *         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":19519
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int pi = 0
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetExecAffinitySupport(&pi, cytypename, cydev)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUexecAffinityType_enum)__Pyx_PyLong_As_enum__CUexecAffinityType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":19520
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19521
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetExecAffinitySupport((&__pyx_v_pi), __pyx_v_cytypename, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19521, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":19520
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19522
 *     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":19523
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19523, __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, 19523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 19523, __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, 19523, __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, 19523, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19522
 *     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":19524
 *     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, 19524, __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, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19524, __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, 19524, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 19524, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19481
 *     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_8);
  __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":19526
 *     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, 19526, __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, 19526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19526, __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, 19526, __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, 19526, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19526, __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, 19526, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 19527, __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, 19527, __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":19568
 *         :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, 19568, __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, 19568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytarget = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":19569
 *     """
 *     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, 19569, __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, 19569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyscope = __pyx_t_3;

  /* "cuda/bindings/driver.pyx":19570
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19571
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19571, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":19570
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":19572
 *     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, 19572, __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, 19572, __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, 19572, __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, 19572, __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, 19572, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19526
 *     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":19574
 *     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, 19574, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19574, __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, 19574, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19574, __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, 19574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetProperties", 0);

  /* "cuda/bindings/driver.pyx":19637
 *     """
 *     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":19638
 *     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":19637
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19639
 *     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":19640
 *         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, 19640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19639
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19642
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19642, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19643
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUdevprop prop = CUdevprop()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19643, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19644
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19644, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevprop *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19645
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19646
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetProperties(((CUdevprop *)__pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19646, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19645
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19647
 *     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":19648
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19648, __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, 19648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19648, __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, 19648, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19647
 *     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":19649
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19649, __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, 19649, __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, 19649, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19649, __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, 19649, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_prop)) != (0)) __PYX_ERR(0, 19649, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19574
 *     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_7);
  __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":19651
 *     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, 19651, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19651, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19651, __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, 19651, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19651, __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, 19651, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuDeviceComputeCapability", 0);

  /* "cuda/bindings/driver.pyx":19682
 *     """
 *     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":19683
 *     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":19682
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19684
 *     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":19685
 *         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, 19685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19684
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19687
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int major = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19687, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19688
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int major = 0
 *     cdef int minor = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19688, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19689
 *         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":19690
 *     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":19691
 *     cdef int major = 0
 *     cdef int minor = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceComputeCapability(&major, &minor, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19692
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceComputeCapability((&__pyx_v_major), (&__pyx_v_minor), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19692, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19691
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19693
 *     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":19694
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19694, __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, 19694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19694, __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, 19694, __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, 19694, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19693
 *     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":19695
 *     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, 19695, __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, 19695, __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, 19695, __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 = __Pyx_PyLong_From_int(__pyx_v_major); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_minor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19695, __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, 19695, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 19695, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 19695, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19651
 *     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_7);
  __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":19697
 *     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, 19697, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19697, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19697, __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, 19697, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19697, __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, 19697, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRetain", 0);

  /* "cuda/bindings/driver.pyx":19738
 *     """
 *     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":19739
 *     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":19738
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19740
 *     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":19741
 *         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, 19741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19740
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19743
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19743, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19744
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19744, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19745
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19745, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":19746
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19747
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRetain(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19747, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19746
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19748
 *     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":19749
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19749, __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, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19749, __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, 19749, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19748
 *     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":19750
 *     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, 19750, __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, 19750, __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, 19750, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19750, __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, 19750, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 19750, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19697
 *     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_7);
  __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":19752
 *     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, 19752, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19752, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19752, __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, 19752, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19752, __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, 19752, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRelease", 0);

  /* "cuda/bindings/driver.pyx":19784
 *     """
 *     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":19785
 *     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":19784
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19786
 *     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":19787
 *         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, 19787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19786
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19789
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19789, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19790
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19790, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19791
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19792
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxRelease(__pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19792, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19791
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxRelease(cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19793
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxRelease(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, 19793, __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, 19793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 19793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19793, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19752
 *     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_7);
  __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":19795
 *     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, 19795, __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, 19795, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19795, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19795, __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, 19795, __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, 19795, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19795, __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, 19796, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 19795, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxSetFlags", 0);

  /* "cuda/bindings/driver.pyx":19895
 *     """
 *     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":19896
 *     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":19895
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19897
 *     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":19898
 *         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, 19898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19897
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19900
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19900, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19901
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19901, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19902
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19903
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxSetFlags(__pyx_v_cydev, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19903, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19902
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19904
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxSetFlags(cydev, 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, 19904, __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, 19904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 19904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19904, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19795
 *     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_7);
  __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":19906
 *     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, 19906, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19906, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19906, __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, 19906, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19906, __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, 19906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuDevicePrimaryCtxGetState", 0);

  /* "cuda/bindings/driver.pyx":19933
 *     """
 *     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":19934
 *     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":19933
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19935
 *     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":19936
 *         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, 19936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19935
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19938
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef unsigned int flags = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19938, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19939
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19939, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19940
 *         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":19941
 *     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":19942
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19943
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxGetState(__pyx_v_cydev, (&__pyx_v_flags), (&__pyx_v_active)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19943, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19942
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19944
 *     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":19945
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19945, __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, 19945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19945, __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, 19945, __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, 19945, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":19944
 *     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":19946
 *     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, 19946, __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, 19946, __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, 19946, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_active); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19946, __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, 19946, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 19946, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 19946, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19906
 *     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_7);
  __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":19948
 *     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, 19948, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 19948, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19948, __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, 19948, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19948, __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, 19948, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxReset", 0);

  /* "cuda/bindings/driver.pyx":19979
 *     """
 *     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":19980
 *     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":19979
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19981
 *     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":19982
 *         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, 19982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":19981
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":19984
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19984, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":19985
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 19985, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":19986
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":19987
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDevicePrimaryCtxReset(__pyx_v_cydev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19987, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":19986
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevicePrimaryCtxReset(cydev)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":19988
 *     with nogil:
 *         err = cydriver.cuDevicePrimaryCtxReset(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, 19988, __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, 19988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 19988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 19988, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19948
 *     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_7);
  __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":19990
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(ctxCreateParams : Optional[CUctxCreateParams], 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(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 using "":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 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. 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 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. 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` if C""IG 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_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
) {
  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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 19990, __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, 19990, __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, 19990, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 19990, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 19990, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 3, 3, i); __PYX_ERR(0, 19990, __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, 19990, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 19990, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 19990, __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, 19991, __pyx_L3_error)
    __pyx_v_dev = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 19990, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ctxCreateParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams, 1, "ctxCreateParams", 0))) __PYX_ERR(0, 19991, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_52cuCtxCreate(__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_52cuCtxCreate(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  struct CUctxCreateParams_st *__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("cuCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":20155
 *     """
 *     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":20156
 *     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":20155
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20157
 *     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":20158
 *         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, 20158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20157
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20160
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20160, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20161
 *     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_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 20161, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":20162
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20162, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":20163
 *     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(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_ctxCreateParams) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_ctxCreateParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyctxCreateParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":20164
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20165
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_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_cyctxCreateParams_ptr, __pyx_v_flags, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20165, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":20164
 *     cdef CUcontext pctx = CUcontext()
 *     cdef cydriver.CUctxCreateParams* cyctxCreateParams_ptr = ctxCreateParams._pvt_ptr if ctxCreateParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxCreate(<cydriver.CUcontext*>pctx._pvt_ptr, cyctxCreateParams_ptr, flags, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20166
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<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":20167
 *         err = cydriver.cuCtxCreate(<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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20167, __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, 20167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 20167, __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, 20167, __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, 20167, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20166
 *     with nogil:
 *         err = cydriver.cuCtxCreate(<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":20168
 *     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, 20168, __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, 20168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 20168, __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, 20168, __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, 20168, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":19990
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(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_8);
  __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":20170
 *     return (_dict_CUresult[err], pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_55cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_54cuCtxDestroy, "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_55cuCtxDestroy = {"cuCtxDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_55cuCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_54cuCtxDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_55cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 20170, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20170, __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, 20170, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20170, __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, 20170, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_54cuCtxDestroy(__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_54cuCtxDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDestroy", 0);

  /* "cuda/bindings/driver.pyx":20219
 *     """
 *     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":20220
 *     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":20219
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20221
 *     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":20222
 *         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, 20222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20221
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20224
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20224, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20225
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20225, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20226
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDestroy(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20227
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDestroy(__pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20227, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20226
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20228
 *     with nogil:
 *         err = cydriver.cuCtxDestroy(cyctx)
 *     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, 20228, __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, 20228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 20228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20228, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20170
 *     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_7);
  __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":20230
 *     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_57cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_56cuCtxPushCurrent, "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_57cuCtxPushCurrent = {"cuCtxPushCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_57cuCtxPushCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_56cuCtxPushCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_57cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 20230, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20230, __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, 20230, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20230, __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, 20230, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_56cuCtxPushCurrent(__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_56cuCtxPushCurrent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxPushCurrent", 0);

  /* "cuda/bindings/driver.pyx":20257
 *     """
 *     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":20258
 *     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":20257
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20259
 *     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":20260
 *         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, 20260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20259
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20262
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20262, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20263
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20263, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20264
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPushCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20265
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxPushCurrent(__pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20265, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20264
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20266
 *     with nogil:
 *         err = cydriver.cuCtxPushCurrent(cyctx)
 *     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, 20266, __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, 20266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 20266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20266, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20230
 *     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_7);
  __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":20268
 *     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_59cuCtxPopCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_58cuCtxPopCurrent, "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_59cuCtxPopCurrent = {"cuCtxPopCurrent", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_59cuCtxPopCurrent, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_58cuCtxPopCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_59cuCtxPopCurrent(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_58cuCtxPopCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_58cuCtxPopCurrent(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxPopCurrent", 0);

  /* "cuda/bindings/driver.pyx":20291
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20291, __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":20292
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxPopCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20293
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxPopCurrent(((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20293, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":20292
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20294
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":20295
 *         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, 20295, __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, 20295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 20295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 20295, __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, 20295, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20294
 *     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":20296
 *     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, 20296, __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, 20296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20296, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 20296, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20268
 *     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_6);
  __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":20298
 *     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_61cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_60cuCtxSetCurrent, "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_61cuCtxSetCurrent = {"cuCtxSetCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_61cuCtxSetCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_60cuCtxSetCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_61cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 20298, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20298, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20298, __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, 20298, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20298, __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, 20298, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_60cuCtxSetCurrent(__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_60cuCtxSetCurrent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSetCurrent", 0);

  /* "cuda/bindings/driver.pyx":20327
 *     """
 *     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":20328
 *     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":20327
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20329
 *     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":20330
 *         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, 20330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20329
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20332
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20332, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20333
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20333, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20334
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCurrent(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20335
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSetCurrent(__pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20335, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20334
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20336
 *     with nogil:
 *         err = cydriver.cuCtxSetCurrent(cyctx)
 *     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, 20336, __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, 20336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 20336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20336, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20298
 *     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_7);
  __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":20338
 *     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_63cuCtxGetCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_62cuCtxGetCurrent, "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_63cuCtxGetCurrent = {"cuCtxGetCurrent", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_63cuCtxGetCurrent, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_62cuCtxGetCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_63cuCtxGetCurrent(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_62cuCtxGetCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_62cuCtxGetCurrent(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetCurrent", 0);

  /* "cuda/bindings/driver.pyx":20357
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20357, __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":20358
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCurrent(<cydriver.CUcontext*>pctx._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20359
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetCurrent(((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20359, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":20358
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20360
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":20361
 *         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, 20361, __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, 20361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 20361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 20361, __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, 20361, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20360
 *     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":20362
 *     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, 20362, __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, 20362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20362, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 20362, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20338
 *     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_6);
  __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":20364
 *     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_65cuCtxGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_64cuCtxGetDevice, "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_65cuCtxGetDevice = {"cuCtxGetDevice", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_65cuCtxGetDevice, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_64cuCtxGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_65cuCtxGetDevice(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_64cuCtxGetDevice(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_64cuCtxGetDevice(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetDevice", 0);

  /* "cuda/bindings/driver.pyx":20381
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20381, __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":20382
 *     """
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevice(<cydriver.CUdevice*>device._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20383
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevice(((CUdevice *)__pyx_v_device->_pvt_ptr)); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20383, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":20382
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20384
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":20385
 *         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, 20385, __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, 20385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 20385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 20385, __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, 20385, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20384
 *     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":20386
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20386, __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, 20386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 20386, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 20386, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20364
 *     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_6);
  __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":20388
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice_v2(ctx):
 *     """ Returns the device handle for the specified context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetDevice_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_66cuCtxGetDevice_v2, "cuCtxGetDevice_v2(ctx)\n\nReturns the device handle for the specified context.\n\nReturns in `*device` the handle of the specified context's device. If\nthe specified context is NULL, the API will return the current\ncontext's device.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context for which to obtain 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_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ndevice : :py:obj:`~.CUdevice`\n    Returned device handle for the specified context\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_67cuCtxGetDevice_v2 = {"cuCtxGetDevice_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetDevice_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_66cuCtxGetDevice_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_67cuCtxGetDevice_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_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("cuCtxGetDevice_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_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, 20388, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20388, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuCtxGetDevice_v2", 0) < (0)) __PYX_ERR(0, 20388, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuCtxGetDevice_v2", 1, 1, 1, i); __PYX_ERR(0, 20388, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20388, __pyx_L3_error)
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetDevice_v2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20388, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetDevice_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_66cuCtxGetDevice_v2(__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_66cuCtxGetDevice_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cyctx;
  PyObject *__pyx_v_pctx = 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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetDevice_v2", 0);

  /* "cuda/bindings/driver.pyx":20413
 *     """
 *     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":20414
 *     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":20413
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20415
 *     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":20416
 *         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, 20416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20415
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20418
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef CUdevice device = CUdevice()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20418, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20419
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20419, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20420
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef CUdevice device = CUdevice()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20420, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":20421
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20422
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetDevice_v2(((CUdevice *)__pyx_v_device->_pvt_ptr), __pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20422, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20421
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef CUdevice device = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20423
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
 *     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":20424
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], device)
 * 
*/
    __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, 20424, __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, 20424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 20424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20424, __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, 20424, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20423
 *     with nogil:
 *         err = cydriver.cuCtxGetDevice_v2(<cydriver.CUdevice*>device._pvt_ptr, cyctx)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], device)
*/
  }

  /* "cuda/bindings/driver.pyx":20425
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20425, __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, 20425, __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, 20425, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20425, __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, 20425, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 20425, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20388
 *     return (_dict_CUresult[err], device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice_v2(ctx):
 *     """ Returns the device handle for the specified context.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxGetDevice_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":20427
 *     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_69cuCtxGetFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_68cuCtxGetFlags, "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_69cuCtxGetFlags = {"cuCtxGetFlags", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_69cuCtxGetFlags, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_68cuCtxGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_69cuCtxGetFlags(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_68cuCtxGetFlags(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_68cuCtxGetFlags(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":20445
 *     :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":20446
 *     """
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20447
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20447, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20446
 *     """
 *     cdef unsigned int flags = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetFlags(&flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20448
 *     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":20449
 *         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, 20449, __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, 20449, __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, 20449, __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, 20449, __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, 20449, __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, 20449, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20448
 *     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":20450
 *     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, 20450, __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, 20450, __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, 20450, __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, 20450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20450, __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, 20450, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20450, __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":20427
 *     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":20452
 *     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_71cuCtxSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_70cuCtxSetFlags, "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_71cuCtxSetFlags = {"cuCtxSetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_71cuCtxSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_70cuCtxSetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_71cuCtxSetFlags(PyObject *__pyx_self, 
#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, 20452, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20452, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20452, __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, 20452, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20452, __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, 20453, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 20452, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_70cuCtxSetFlags(__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_70cuCtxSetFlags(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":20473
 *     :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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20474
 *     """
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20474, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20473
 *     :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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20475
 *     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, 20475, __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, 20475, __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, 20475, __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, 20475, __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, 20475, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20452
 *     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":20477
 *     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_73cuCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_72cuCtxGetId, "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_73cuCtxGetId = {"cuCtxGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_73cuCtxGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_72cuCtxGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_73cuCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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, 20477, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20477, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20477, __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, 20477, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20477, __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, 20477, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_72cuCtxGetId(__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_72cuCtxGetId(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetId", 0);

  /* "cuda/bindings/driver.pyx":20503
 *     """
 *     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":20504
 *     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":20503
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20505
 *     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":20506
 *         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, 20506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20505
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20508
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20508, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20509
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned long long ctxId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20509, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20510
 *         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":20511
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20512
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetId(__pyx_v_cyctx, (&__pyx_v_ctxId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20512, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20511
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20513
 *     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":20514
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20514, __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, 20514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 20514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20514, __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, 20514, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20513
 *     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":20515
 *     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, 20515, __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, 20515, __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, 20515, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_ctxId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20515, __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, 20515, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 20515, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20477
 *     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_7);
  __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":20517
 *     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_75cuCtxSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_74cuCtxSynchronize, "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`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\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_75cuCtxSynchronize = {"cuCtxSynchronize", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_75cuCtxSynchronize, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_74cuCtxSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_75cuCtxSynchronize(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_74cuCtxSynchronize(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_74cuCtxSynchronize(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":20538
 *     :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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20539
 *     """
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSynchronize(); if (unlikely(__pyx_t_1 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20539, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20538
 *     :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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20540
 *     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, 20540, __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, 20540, __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, 20540, __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, 20540, __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, 20540, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20517
 *     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":20542
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize_v2(ctx):
 *     """ Block for the specified context's tasks to complete.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize_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_76cuCtxSynchronize_v2, "cuCtxSynchronize_v2(ctx)\n\nBlock for the specified context's tasks to complete.\n\nBlocks until the specified context has completed all preceding\nrequested tasks. If the specified context is the primary context, green\ncontexts that have been created will also be synchronized. The API\nreturns an error if one of the preceding tasks failed.\n\nIf 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\nIf the specified context is NULL, the API will operate on the current\ncontext.\n\nParameters\n----------\nctx : :py:obj:`~.CUcontext`\n    Context 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_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`\n\nSee Also\n--------\n:py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuGreenCtxCreate`, :py:obj:`~.cuCtxFromGreenCtx`, :py:obj:`~.cudaDeviceSynchronize`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_77cuCtxSynchronize_v2 = {"cuCtxSynchronize_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_76cuCtxSynchronize_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_77cuCtxSynchronize_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_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("cuCtxSynchronize_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_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, "cuCtxSynchronize_v2", 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("cuCtxSynchronize_v2", 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("cuCtxSynchronize_v2", 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.cuCtxSynchronize_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_76cuCtxSynchronize_v2(__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_76cuCtxSynchronize_v2(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxSynchronize_v2", 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
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20579
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize_v2(cyctx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (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_5));

  /* "cuda/bindings/driver.pyx":20580
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSynchronize_v2(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20581
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize_v2(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxSynchronize_v2(__pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20581, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20580
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSynchronize_v2(cyctx)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20582
 *     with nogil:
 *         err = cydriver.cuCtxSynchronize_v2(cyctx)
 *     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, 20582, __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, 20582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 20582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20582, __pyx_L1_error);
  __pyx_t_7 = 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 cuCtxSynchronize_v2(ctx):
 *     """ Block for the specified 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_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuCtxSynchronize_v2", __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":20584
 *     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, 20584, __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, 20584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20584, __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, 20584, __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, 20584, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20584, __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, 20585, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetLimit", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20584, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 20585, __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":20683
 *     :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, 20683, __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, 20683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylimit = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20684
 *     """
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20685
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20685, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20684
 *     """
 *     cdef cydriver.CUlimit cylimit = limit.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetLimit(cylimit, value)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20686
 *     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, 20686, __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, 20686, __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, 20686, __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, 20686, __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, 20686, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20584
 *     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":20688
 *     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, 20688, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20688, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20688, __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, 20688, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20688, __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, 20688, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 20689, __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":20736
 *     :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":20737
 *     """
 *     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, 20737, __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, 20737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylimit = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20738
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20739
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20739, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20738
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20740
 *     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":20741
 *         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, 20741, __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, 20741, __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, 20741, __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, 20741, __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, 20741, __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, 20741, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20740
 *     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":20742
 *     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, 20742, __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, 20742, __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, 20742, __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, 20742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 20742, __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, 20742, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 20742, __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":20688
 *     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":20744
 *     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":20783
 *     """
 *     cdef cydriver.CUfunc_cache pconfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20784
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20784, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20783
 *     """
 *     cdef cydriver.CUfunc_cache pconfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetCacheConfig(&pconfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20785
 *     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":20786
 *         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, 20786, __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, 20786, __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, 20786, __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, 20786, __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, 20786, __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, 20786, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20785
 *     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":20787
 *     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, 20787, __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, 20787, __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, 20787, __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, 20787, __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, 20787, __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((PyObject*)__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, 20787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20787, __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, 20787, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20787, __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":20744
 *     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":20789
 *     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, 20789, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20789, __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, 20789, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20789, __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, 20789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 20790, __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":20839
 *     :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, 20839, __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, 20839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyconfig = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":20840
 *     """
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20841
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20841, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":20840
 *     """
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetCacheConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20842
 *     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, 20842, __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, 20842, __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, 20842, __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, 20842, __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, 20842, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20789
 *     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":20844
 *     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, 20844, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20844, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20844, __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, 20844, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20844, __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, 20844, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetApiVersion", 0);

  /* "cuda/bindings/driver.pyx":20875
 *     """
 *     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":20876
 *     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":20875
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20877
 *     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":20878
 *         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, 20878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":20877
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":20880
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20880, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":20881
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned int version = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20881, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":20882
 *         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":20883
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20884
 *     cdef unsigned int version = 0
 *     with nogil:
 *         err = cydriver.cuCtxGetApiVersion(cyctx, &version)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetApiVersion(__pyx_v_cyctx, (&__pyx_v_version)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20884, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":20883
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":20885
 *     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":20886
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20886, __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, 20886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 20886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20886, __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, 20886, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20885
 *     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":20887
 *     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, 20887, __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, 20887, __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, 20887, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_version); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20887, __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, 20887, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 20887, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20844
 *     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_7);
  __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":20889
 *     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":20924
 *     :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":20925
 *     """
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
*/
  __pyx_v_greatestPriority = 0;

  /* "cuda/bindings/driver.pyx":20926
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20927
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20927, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20926
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20928
 *     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":20929
 *         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, 20929, __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, 20929, __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, 20929, __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, 20929, __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, 20929, __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, 20929, __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, 20929, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20928
 *     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":20930
 *     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, 20930, __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, 20930, __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, 20930, __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, 20930, __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, 20930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20930, __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, 20930, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 20930, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 20930, __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":20889
 *     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":20932
 *     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":20948
 *     :py:obj:`~.CUaccessPolicyWindow`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxResetPersistingL2Cache()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20949
 *     """
 *     with nogil:
 *         err = cydriver.cuCtxResetPersistingL2Cache()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxResetPersistingL2Cache(); if (unlikely(__pyx_t_1 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20949, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":20948
 *     :py:obj:`~.CUaccessPolicyWindow`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxResetPersistingL2Cache()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20950
 *     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, 20950, __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, 20950, __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, 20950, __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, 20950, __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, 20950, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20932
 *     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":20952
 *     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, 20952, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 20952, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20952, __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, 20952, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20952, __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, 20952, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 20953, __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;
  size_t __pyx_t_3;
  CUexecAffinityType __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxGetExecAffinity", 0);

  /* "cuda/bindings/driver.pyx":20978
 *     :py:obj:`~.CUexecAffinityParam`
 *     """
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUexecAffinityType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20978, __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":20979
 *     """
 *     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, 20979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = ((enum CUexecAffinityType_enum)__Pyx_PyLong_As_enum__CUexecAffinityType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":20980
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":20981
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxGetExecAffinity(((CUexecAffinityParam *)__pyx_v_pExecAffinity->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 20981, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":20980
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":20982
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":20983
 *         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, 20983, __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, 20983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 20983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 20983, __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, 20983, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":20982
 *     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":20984
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20984, __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, 20984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20984, __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, 20984, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pExecAffinity);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pExecAffinity);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pExecAffinity)) != (0)) __PYX_ERR(0, 20984, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20952
 *     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_7);
  __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":20986
 *     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, 20986, __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, 20986, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 20986, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 20986, __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, 20986, __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, 20986, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 20986, __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, 20986, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxRecordEvent", 0);

  /* "cuda/bindings/driver.pyx":21024
 *     """
 *     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":21025
 *     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":21024
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21026
 *     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":21027
 *         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, 21027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21026
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21029
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21029, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21030
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21030, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21032
 *     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":21033
 *     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":21032
 *     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":21034
 *     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":21035
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21034
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21037
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21037, __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, 21037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":21038
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21038, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21039
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21040
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxRecordEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21040, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21039
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":21041
 *     with nogil:
 *         err = cydriver.cuCtxRecordEvent(cyhCtx, cyhEvent)
 *     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, 21041, __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, 21041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 21041, __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, 21041, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":20986
 *     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_7);
  __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":21043
 *     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, 21043, __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, 21043, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21043, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21043, __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, 21043, __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, 21043, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21043, __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, 21043, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":21080
 *     """
 *     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":21081
 *     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":21080
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21082
 *     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":21083
 *         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, 21083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21082
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21085
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUcontext cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21085, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21086
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21086, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21088
 *     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":21089
 *     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":21088
 *     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":21090
 *     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":21091
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21090
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21093
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21093, __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, 21093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":21094
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21094, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21095
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21096
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxWaitEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21096, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21095
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":21097
 *     with nogil:
 *         err = cydriver.cuCtxWaitEvent(cyhCtx, cyhEvent)
 *     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, 21097, __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, 21097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 21097, __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, 21097, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21043
 *     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_7);
  __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":21099
 *     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, 21099, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21099, __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, 21099, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21099, __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, 21100, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxAttach", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxAttach", 0);

  /* "cuda/bindings/driver.pyx":21130
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21130, __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":21131
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxAttach(<cydriver.CUcontext*>pctx._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21132
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxAttach(((CUcontext *)__pyx_v_pctx->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21132, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":21131
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21133
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":21134
 *         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, 21134, __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, 21134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 21134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 21134, __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, 21134, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21133
 *     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":21135
 *     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, 21135, __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, 21135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21135, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 21135, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21099
 *     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_6);
  __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":21137
 *     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, 21137, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21137, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21137, __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, 21137, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21137, __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, 21137, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDetach", 0);

  /* "cuda/bindings/driver.pyx":21165
 *     """
 *     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":21166
 *     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":21165
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21167
 *     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":21168
 *         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, 21168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21167
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21170
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21170, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21171
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21171, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21172
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDetach(cyctx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21173
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDetach(__pyx_v_cyctx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21173, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21172
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21174
 *     with nogil:
 *         err = cydriver.cuCtxDetach(cyctx)
 *     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, 21174, __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, 21174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 21174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21174, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21137
 *     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_7);
  __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":21176
 *     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":21210
 *     """
 *     cdef cydriver.CUsharedconfig pConfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21211
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21211, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":21210
 *     """
 *     cdef cydriver.CUsharedconfig pConfig
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxGetSharedMemConfig(&pConfig)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21212
 *     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":21213
 *         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, 21213, __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, 21213, __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, 21213, __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, 21213, __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, 21213, __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, 21213, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21212
 *     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":21214
 *     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, 21214, __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, 21214, __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, 21214, __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, 21214, __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, 21214, __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((PyObject*)__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, 21214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21214, __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, 21214, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 21214, __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":21176
 *     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":21216
 *     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, 21216, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21216, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21216, __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, 21216, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21216, __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, 21216, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 21217, __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":21263
 *     :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, 21263, __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, 21263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyconfig = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":21264
 *     """
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21265
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21265, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":21264
 *     """
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxSetSharedMemConfig(cyconfig)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21266
 *     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, 21266, __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, 21266, __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, 21266, __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, 21266, __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, 21266, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21216
 *     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":21268
 *     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, or a `Tile` IR file.\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, 21268, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21268, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21268, __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, 21268, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21268, __pyx_L3_error)
    }
    __pyx_v_fname = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) __PYX_ERR(0, 21269, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoad", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 21268, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoad", 0);

  /* "cuda/bindings/driver.pyx":21297
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21297, __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":21298
 *     """
 *     cdef CUmodule module = CUmodule()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleLoad(<cydriver.CUmodule*>module._pvt_ptr, fname)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21299
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoad(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_fname); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21299, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":21298
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21300
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":21301
 *         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, 21301, __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, 21301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 21301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 21301, __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, 21301, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21300
 *     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":21302
 *     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, 21302, __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, 21302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 21302, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21302, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21268
 *     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_6);
  __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":21304
 *     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, or `Tile` IR data.\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, 21304, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21304, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21304, __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, 21304, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21304, __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, 21304, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoadData", 0);

  /* "cuda/bindings/driver.pyx":21329
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21329, __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":21330
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cyimage = _HelperInputVoidPtr(image)             # <<<<<<<<<<<<<<
 *     cdef void* cyimage_ptr = <void*><void_ptr>cyimage.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_image};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21330, __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":21331
 *     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, 21331, __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, 21331, __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_4));

  /* "cuda/bindings/driver.pyx":21332
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21333
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadData(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_cyimage_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21333, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":21332
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21334
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":21335
 *         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, 21335, __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, 21335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21335, __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, 21335, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21334
 *     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":21336
 *     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, 21336, __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, 21336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21336, __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, 21336, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21336, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21304
 *     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_7);
  __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":21338
 *     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, or `Tile` IR data.\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, 21338, __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, 21338, __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, 21338, __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, 21338, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21338, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21338, __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, 21338, __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, 21338, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21338, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21338, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21338, __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, 21339, __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, 21338, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator121(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21371
 *     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_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, 21371, __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_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_cuModuleLoadDataEx_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21371, __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_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, 21371, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21371, __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, 21371, __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, 21371, __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, 21371, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 21371, __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, 21371, __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, 21371, __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, 21371, __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, 21371, __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":21338
 *     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_2generator121 = 0;
  PyObject *__pyx_10genexpr251__pyx_v_pyoptions = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 = NULL;
  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":21369
 *     :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, 21369, __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":21370
 *     """
 *     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, 21370, __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":21371
 *     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, 21371, __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, 21371, __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, 21371, __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":21372
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21372, __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, 21372, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21371
 *     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":21373
 *     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_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21373, __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":21374
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_image};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21374, __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":21375
 *     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, 21375, __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, 21375, __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_6));

  /* "cuda/bindings/driver.pyx":21376
 *     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_7 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21376, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21376, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21376, __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, 21376, __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, 21376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21376, __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, 21376, __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, 21376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21376, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__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, 21376, __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, 21376, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21377
 *     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_7 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21377, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21377, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21377, __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, 21377, __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, 21377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21377, __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_numOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21377, __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, 21377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21377, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21377, __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, 21377, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21378
 *     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, 21378, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_1 = __pyx_v_options; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21378, __pyx_L8_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, 21378, __pyx_L8_error)
    }
    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, 21378, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21378, __pyx_L8_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, 21378, __pyx_L8_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, 21378, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_10genexpr251__pyx_v_pyoptions, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr251__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21378, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 21378, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pyoptions); __pyx_10genexpr251__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pyoptions); __pyx_10genexpr251__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, 21378, __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":21379
 *     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, 21379, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21379, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21379, __pyx_L15_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, 21379, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    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, 21379, __pyx_L15_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21379, __pyx_L15_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_8, __pyx_t_7));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21379, __pyx_L15_error)
      } else {
        __pyx_t_1 = __pyx_t_11(__pyx_t_8);
        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, 21379, __pyx_L15_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, 21379, __pyx_L15_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_9);
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_10);
        } else {
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21379, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_9);
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21379, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_10);
        }
        #else
        __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21379, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21379, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        #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, 21379, __pyx_L15_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_9 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_9)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        index = 1; __pyx_t_10 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_10)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < (0)) __PYX_ERR(0, 21379, __pyx_L15_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_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, 21379, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr252__pyx_v_pyoptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr252__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_10 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_10genexpr252__pyx_v_pyoptions, __pyx_10genexpr252__pyx_v_pyoptionValues};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21379, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21379, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 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_L21_exit_scope;
    __pyx_L15_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_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21380
 *     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_8 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21380, __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":21381
 *     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, 21381, __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, 21381, __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_6));

  /* "cuda/bindings/driver.pyx":21382
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21383
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21383, __pyx_L23_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":21382
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L24;
        }
        __pyx_L23_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L24:;
      }
  }

  /* "cuda/bindings/driver.pyx":21384
 *     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":21385
 *         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, 21385, __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, 21385, __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, 21385, __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, 21385, __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, 21385, __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, 21385, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21384
 *     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":21386
 *     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_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21386, __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, 21386, __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, 21386, __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, 21386, __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, 21386, __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, 21386, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21338
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __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_2generator121);
  __Pyx_XDECREF(__pyx_10genexpr251__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr252__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr252__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":21388
 *     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, 21388, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21388, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21388, __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, 21388, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21388, __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, 21388, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleLoadFatBinary", 0);

  /* "cuda/bindings/driver.pyx":21419
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21419, __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":21420
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cyfatCubin = _HelperInputVoidPtr(fatCubin)             # <<<<<<<<<<<<<<
 *     cdef void* cyfatCubin_ptr = <void*><void_ptr>cyfatCubin.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_fatCubin};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21420, __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":21421
 *     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, 21421, __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, 21421, __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_4));

  /* "cuda/bindings/driver.pyx":21422
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21423
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleLoadFatBinary(((CUmodule *)__pyx_v_module->_pvt_ptr), __pyx_v_cyfatCubin_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21423, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":21422
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21424
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":21425
 *         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, 21425, __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, 21425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21425, __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, 21425, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21424
 *     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":21426
 *     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, 21426, __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, 21426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21426, __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, 21426, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_module)) != (0)) __PYX_ERR(0, 21426, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21388
 *     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_7);
  __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":21428
 *     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, 21428, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21428, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21428, __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, 21428, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21428, __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, 21428, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleUnload", 0);

  /* "cuda/bindings/driver.pyx":21452
 *     """
 *     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":21453
 *     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":21452
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21454
 *     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":21455
 *         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, 21455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21454
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21457
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21457, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21458
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21458, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21459
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleUnload(cyhmod)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21460
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleUnload(__pyx_v_cyhmod); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21460, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21459
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21461
 *     with nogil:
 *         err = cydriver.cuModuleUnload(cyhmod)
 *     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, 21461, __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, 21461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 21461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21461, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21428
 *     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_7);
  __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":21463
 *     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":21482
 *     """
 *     cdef cydriver.CUmoduleLoadingMode mode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21483
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21483, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":21482
 *     """
 *     cdef cydriver.CUmoduleLoadingMode mode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuModuleGetLoadingMode(&mode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":21484
 *     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":21485
 *         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, 21485, __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, 21485, __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, 21485, __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, 21485, __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, 21485, __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, 21485, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21484
 *     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":21486
 *     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, 21486, __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, 21486, __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, 21486, __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, 21486, __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, 21486, __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((PyObject*)__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, 21486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21486, __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, 21486, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 21486, __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":21463
 *     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":21488
 *     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, 21488, __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, 21488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21488, __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, 21488, __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, 21488, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21488, __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, 21489, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21488, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetFunction", 0);

  /* "cuda/bindings/driver.pyx":21516
 *     """
 *     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":21517
 *     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":21516
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21518
 *     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":21519
 *         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, 21519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21518
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21521
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21521, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21522
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUfunction hfunc = CUfunction()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21522, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21523
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21523, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_hfunc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21524
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21525
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunction(((CUfunction *)__pyx_v_hfunc->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21525, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21524
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21526
 *     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":21527
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21527, __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, 21527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21527, __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, 21527, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21526
 *     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":21528
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21528, __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, 21528, __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, 21528, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21528, __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, 21528, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hfunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hfunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_hfunc)) != (0)) __PYX_ERR(0, 21528, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21488
 *     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_7);
  __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":21530
 *     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, 21530, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21530, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21530, __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, 21530, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21530, __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, 21530, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetFunctionCount", 0);

  /* "cuda/bindings/driver.pyx":21549
 *     """
 *     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":21550
 *     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":21549
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21551
 *     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":21552
 *         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, 21552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21551
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21554
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21554, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21555
 *     else:
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21555, __pyx_L1_error)
  __pyx_v_cymod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21556
 *         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":21557
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21558
 *     cdef unsigned int count = 0
 *     with nogil:
 *         err = cydriver.cuModuleGetFunctionCount(&count, cymod)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetFunctionCount((&__pyx_v_count), __pyx_v_cymod); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21558, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21557
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21559
 *     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":21560
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21560, __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, 21560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21560, __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, 21560, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21559
 *     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":21561
 *     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, 21561, __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, 21561, __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, 21561, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21561, __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, 21561, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 21561, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21530
 *     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_7);
  __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":21563
 *     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, 21563, __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, 21563, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21563, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21563, __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, 21563, __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, 21563, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21563, __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, 21564, __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, 21563, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_10genexpr253__pyx_v_idx;
  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;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleEnumerateFunctions", 0);

  /* "cuda/bindings/driver.pyx":21596
 *     """
 *     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":21597
 *     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":21596
 *     """
 *     cdef cydriver.CUmodule cymod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21598
 *     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":21599
 *         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, 21599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21598
 *     if mod is None:
 *         pmod = 0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21601
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21601, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21602
 *     else:
 *         pmod = int(CUmodule(mod))
 *     cymod = <cydriver.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction* cyfunctions = NULL
 *     pyfunctions = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21602, __pyx_L1_error)
  __pyx_v_cymod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21603
 *         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":21604
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyfunctions = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21605
 *     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":21606
 *     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":21607
 *     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":21608
 *         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_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numFunctions); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21608, __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, 21608, __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, 21608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21608, __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(CUfunction))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21608, __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, 21608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21608, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 21608, __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, 21608, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":21607
 *     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":21605
 *     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":21609
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21610
 *             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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleEnumerateFunctions(__pyx_v_cyfunctions, __pyx_v_numFunctions, __pyx_v_cymod); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21610, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":21609
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":21611
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21611, __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, 21611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __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_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 21611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":21612
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21612, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = __pyx_v_numFunctions;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr253__pyx_v_idx = __pyx_t_12;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyfunctions[__pyx_10genexpr253__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21612, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 21612, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
          __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, 21612, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 21612, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfunctions, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":21611
 *     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":21613
 *     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":21614
 *         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":21613
 *     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":21615
 *     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":21616
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21616, __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, 21616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21616, __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, 21616, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21615
 *     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":21617
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21617, __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, 21617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21617, __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, 21617, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfunctions);
  __Pyx_GIVEREF(__pyx_v_pyfunctions);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pyfunctions) != (0)) __PYX_ERR(0, 21617, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21563
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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":21619
 *     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, 21619, __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, 21619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21619, __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, 21619, __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, 21619, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21619, __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, 21620, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21619, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetGlobal", 0);

  /* "cuda/bindings/driver.pyx":21650
 *     """
 *     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":21651
 *     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":21650
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21652
 *     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":21653
 *         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, 21653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21652
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21655
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21655, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21656
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21656, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21657
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21657, __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":21658
 *     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":21659
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21660
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21660, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21659
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21661
 *     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":21662
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21662, __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, 21662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21662, __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, 21662, __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, 21662, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21661
 *     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":21663
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21663, __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, 21663, __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, 21663, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21663, __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, 21663, __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, 21663, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 21663, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21619
 *     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_7);
  __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":21665
 *     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, 21665, __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, 21665, __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, 21665, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21665, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21665, __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, 21665, __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, 21665, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21665, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21665, __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, 21666, __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, 21665, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator122(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21718
 *     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_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, 21718, __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_2generator122, ((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_cuLinkCreate_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21718, __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_2generator122(__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, 21718, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21718, __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, 21718, __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, 21718, __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, 21718, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 21718, __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, 21718, __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, 21718, __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, 21718, __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, 21718, __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":21665
 *     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_2generator122 = 0;
  PyObject *__pyx_10genexpr255__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr256__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr256__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;
  size_t __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)(PyObject *);
  std::vector<CUjit_option>  __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  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":21716
 *     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, 21716, __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":21717
 *     """
 *     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, 21717, __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":21718
 *     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, 21718, __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, 21718, __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, 21718, __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":21719
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21719, __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, 21719, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21718
 *     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":21720
 *     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_6 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21720, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21720, __pyx_L1_error)
    __pyx_t_7 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21720, __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, 21720, __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_List_is_too_small, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21720, __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, 21720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21720, __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_1, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21720, __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, 21720, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21721
 *         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_6 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21721, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_7 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21721, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21721, __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, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __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_7, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21721, __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, 21721, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21722
 *     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, 21722, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_1 = __pyx_v_options; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21722, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21722, __pyx_L8_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        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, 21722, __pyx_L8_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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, 21722, __pyx_L8_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_7 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6));
          #else
          __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21722, __pyx_L8_error)
      } else {
        __pyx_t_7 = __pyx_t_10(__pyx_t_1);
        if (unlikely(!__pyx_t_7)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 21722, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_10genexpr255__pyx_v_pyoptions, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr255__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21722, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 21722, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyoptions); __pyx_10genexpr255__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyoptions); __pyx_10genexpr255__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_11 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_11);

  /* "cuda/bindings/driver.pyx":21723
 *     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, 21723, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21723, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21723, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21723, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_10)) {
        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(0, 21723, __pyx_L15_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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(0, 21723, __pyx_L15_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_6));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21723, __pyx_L15_error)
      } else {
        __pyx_t_1 = __pyx_t_10(__pyx_t_7);
        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, 21723, __pyx_L15_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, 21723, __pyx_L15_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_8);
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_9);
        } else {
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21723, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21723, __pyx_L15_error)
          __Pyx_XGOTREF(__pyx_t_9);
        }
        #else
        __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21723, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21723, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_9);
        #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, 21723, __pyx_L15_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_8 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_8)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        index = 1; __pyx_t_9 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 21723, __pyx_L15_error)
        __pyx_t_13 = NULL;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_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, 21723, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr256__pyx_v_pyoptions, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr256__pyx_v_pyoptionValues, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_10genexpr256__pyx_v_pyoptions, __pyx_10genexpr256__pyx_v_pyoptionValues};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21723, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 21723, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 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_L21_exit_scope;
    __pyx_L15_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_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21724
 *     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_7 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21724, __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":21725
 *     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, 21725, __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, 21725, __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":21726
 *     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_7 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21726, __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":21727
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21728
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21728, __pyx_L23_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":21727
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L24;
        }
        __pyx_L23_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L24:;
      }
  }

  /* "cuda/bindings/driver.pyx":21729
 *     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, 21729, __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, 21729, __pyx_L1_error)

  /* "cuda/bindings/driver.pyx":21730
 *         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_6 = 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, 21730, __pyx_L1_error)
      #endif
      if (__pyx_t_6 >= __pyx_temp) break;
    }
    __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
    ++__pyx_t_6;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF_SET(__pyx_v_option, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":21731
 *     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, 21731, __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, 21731, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21730
 *         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":21732
 *     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":21733
 *         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, 21733, __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, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __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, 21733, __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, 21733, __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, 21733, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21732
 *     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":21734
 *     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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21734, __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, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21734, __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, 21734, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_stateOut);
  __Pyx_GIVEREF((PyObject *)__pyx_v_stateOut);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_stateOut)) != (0)) __PYX_ERR(0, 21734, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21665
 *     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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __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_2generator122);
  __Pyx_XDECREF(__pyx_10genexpr255__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr256__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr256__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":21736
 *     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, 21736, __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, 21736, __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, 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, "cuLinkAddData", 0) < (0)) __PYX_ERR(0, 21736, __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, 21736, __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, 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)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 21736, __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, 21737, __pyx_L3_error)
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[4]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(0, 21737, __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, 21737, __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, 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.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, 21737, __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_2generator123(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21784
 *     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_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, 21784, __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_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_cuLinkAddData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21784, __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_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, 21784, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21784, __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, 21784, __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, 21784, __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, 21784, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 21784, __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, 21784, __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, 21784, __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, 21784, __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, 21784, __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], 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_2generator123 = 0;
  PyObject *__pyx_10genexpr258__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr259__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr259__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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUjitInputType __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 = NULL;
  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":21782
 *     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, 21782, __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":21783
 *     """
 *     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, 21783, __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":21784
 *     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, 21784, __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, 21784, __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, 21784, __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":21785
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21785, __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, 21785, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21784
 *     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":21787
 *         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":21788
 *     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":21787
 *         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":21789
 *     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":21790
 *         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, 21790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21789
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21792
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_state};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21792, __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, 21792, __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":21793
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUjitInputType cytypename = typename.value
 *     cydata = _HelperInputVoidPtr(data)
*/
  __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, 21793, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21794
 *         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, 21794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = ((enum CUjitInputType_enum)__Pyx_PyLong_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":21795
 *     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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_data};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21795, __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":21796
 *     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, 21796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21796, __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_6));

  /* "cuda/bindings/driver.pyx":21797
 *     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_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21797, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21797, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21797, __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, 21797, __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, 21797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21797, __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, 21797, __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, 21797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21797, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21797, __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, 21797, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21798
 *     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_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21798, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_9 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21798, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21798, __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, 21798, __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, 21798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21798, __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_numOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21798, __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, 21798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21798, __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_9, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21798, __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, 21798, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21799
 *     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, 21799, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_3 = __pyx_v_options; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21799, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21799, __pyx_L9_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        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, 21799, __pyx_L9_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21799, __pyx_L9_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_3, __pyx_t_8));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21799, __pyx_L9_error)
      } else {
        __pyx_t_9 = __pyx_t_12(__pyx_t_3);
        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, 21799, __pyx_L9_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr258__pyx_v_pyoptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr258__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21799, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 21799, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions); __pyx_10genexpr258__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions); __pyx_10genexpr258__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_13 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":21800
 *     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, 21800, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21800, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_9 = __pyx_t_3; __Pyx_INCREF(__pyx_t_9);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21800, __pyx_L16_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, 21800, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    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, 21800, __pyx_L16_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_9, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21800, __pyx_L16_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_9, __pyx_t_8));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21800, __pyx_L16_error)
      } else {
        __pyx_t_3 = __pyx_t_12(__pyx_t_9);
        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, 21800, __pyx_L16_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, 21800, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_10);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21800, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_10);
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21800, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21800, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21800, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_14 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 21800, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_14);
        index = 0; __pyx_t_10 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_10)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_11)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 2) < (0)) __PYX_ERR(0, 21800, __pyx_L16_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21800, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr259__pyx_v_pyoptions, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr259__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr259__pyx_v_pyoptions, __pyx_10genexpr259__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __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;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21800, __pyx_L16_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21800, __pyx_L16_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr259__pyx_v_pyoptionValues); __pyx_10genexpr259__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr259__pyx_v_pyoptions); __pyx_10genexpr259__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr259__pyx_v_pyoptionValues); __pyx_10genexpr259__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr259__pyx_v_pyoptions); __pyx_10genexpr259__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":21801
 *     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_9 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21801, __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":21802
 *     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, 21802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21802, __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_6));

  /* "cuda/bindings/driver.pyx":21803
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21804
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21804, __pyx_L24_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21803
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":21805
 *     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, 21805, __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, 21805, __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, 21805, __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, 21805, __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, 21805, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21736
 *     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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_14);
  __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_2generator123);
  __Pyx_XDECREF(__pyx_10genexpr258__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr259__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr259__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":21807
 *     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, 21807, __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, 21807, __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, 21807, __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, 21807, __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, 21807, __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, 21807, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21807, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21807, __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, 21807, __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, 21807, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21807, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 21807, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 21807, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 21807, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 21807, __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, 21808, __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, 21808, __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, 21807, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 21808, __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_2generator124(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":21853
 *     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_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, 21853, __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_2generator124, ((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_cuLinkAddFile_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 21853, __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_2generator124(__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, 21853, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 21853, __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, 21853, __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, 21853, __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, 21853, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 21853, __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, 21853, __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, 21853, __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, 21853, __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, 21853, __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":21807
 *     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_2generator124 = 0;
  PyObject *__pyx_10genexpr261__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr262__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr262__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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUjitInputType __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 = NULL;
  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":21851
 *     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, 21851, __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":21852
 *     """
 *     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, 21852, __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":21853
 *     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, 21853, __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, 21853, __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, 21853, __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":21854
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21854, __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, 21854, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":21853
 *     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":21856
 *         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":21857
 *     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":21856
 *         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":21858
 *     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":21859
 *         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, 21859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":21858
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":21861
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     cdef cydriver.CUjitInputType cytypename = typename.value
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_state};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21861, __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, 21861, __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":21862
 *     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_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, 21862, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":21863
 *         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, 21863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = ((enum CUjitInputType_enum)__Pyx_PyLong_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":21864
 *     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_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21864, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_options); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21864, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21864, __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, 21864, __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, 21864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21864, __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, 21864, __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, 21864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21864, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21864, __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, 21864, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21865
 *     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_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21865, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_8);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_9 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_optionValues); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21865, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21865, __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, 21865, __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, 21865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21865, __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_numOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21865, __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, 21865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21865, __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_9, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21865, __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, 21865, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":21866
 *     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, 21866, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_options)) || PyTuple_CheckExact(__pyx_v_options)) {
      __pyx_t_3 = __pyx_v_options; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_options); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21866, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21866, __pyx_L9_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        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, 21866, __pyx_L9_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21866, __pyx_L9_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_3, __pyx_t_8));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21866, __pyx_L9_error)
      } else {
        __pyx_t_9 = __pyx_t_12(__pyx_t_3);
        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, 21866, __pyx_L9_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr261__pyx_v_pyoptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr261__pyx_v_pyoptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21866, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 21866, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr261__pyx_v_pyoptions); __pyx_10genexpr261__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr261__pyx_v_pyoptions); __pyx_10genexpr261__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_13 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":21867
 *     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, 21867, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_v_options, __pyx_v_optionValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21867, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_9 = __pyx_t_3; __Pyx_INCREF(__pyx_t_9);
      __pyx_t_8 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21867, __pyx_L16_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, 21867, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    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, 21867, __pyx_L16_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_9, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 21867, __pyx_L16_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_9, __pyx_t_8));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21867, __pyx_L16_error)
      } else {
        __pyx_t_3 = __pyx_t_12(__pyx_t_9);
        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, 21867, __pyx_L16_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, 21867, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_10);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21867, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_10);
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21867, __pyx_L16_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21867, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21867, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_14 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 21867, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_15 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_14);
        index = 0; __pyx_t_10 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_10)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        index = 1; __pyx_t_11 = __pyx_t_15(__pyx_t_14); if (unlikely(!__pyx_t_11)) goto __pyx_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 2) < (0)) __PYX_ERR(0, 21867, __pyx_L16_error)
        __pyx_t_15 = NULL;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_15 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 21867, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr262__pyx_v_pyoptions, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr262__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr262__pyx_v_pyoptions, __pyx_10genexpr262__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __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;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21867, __pyx_L16_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 21867, __pyx_L16_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr262__pyx_v_pyoptionValues); __pyx_10genexpr262__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr262__pyx_v_pyoptions); __pyx_10genexpr262__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr262__pyx_v_pyoptionValues); __pyx_10genexpr262__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr262__pyx_v_pyoptions); __pyx_10genexpr262__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":21868
 *     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_9 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21868, __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":21869
 *     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, 21869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21869, __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_6));

  /* "cuda/bindings/driver.pyx":21870
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21871
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21871, __pyx_L24_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":21870
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":21872
 *     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, 21872, __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, 21872, __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, 21872, __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, 21872, __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, 21872, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21807
 *     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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_14);
  __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_2generator124);
  __Pyx_XDECREF(__pyx_10genexpr261__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr262__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr262__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":21874
 *     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, 21874, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21874, __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, 21874, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21874, __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, 21874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuLinkComplete", 0);

  /* "cuda/bindings/driver.pyx":21903
 *     """
 *     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":21904
 *     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":21903
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21905
 *     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":21906
 *         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, 21906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21905
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21908
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_state};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21908, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21909
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21909, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21910
 *         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":21911
 *     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":21912
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21913
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkComplete(__pyx_v_cystate, ((void **)(&__pyx_v_cubinOut)), (&__pyx_v_sizeOut)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21913, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21912
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21914
 *     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":21915
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21915, __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, 21915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21915, __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, 21915, __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, 21915, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21914
 *     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":21916
 *     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, 21916, __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, 21916, __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, 21916, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_cubinOut); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_sizeOut); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21916, __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, 21916, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 21916, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 21916, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21874
 *     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_7);
  __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":21918
 *     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, 21918, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 21918, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21918, __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, 21918, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21918, __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, 21918, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLinkDestroy", 0);

  /* "cuda/bindings/driver.pyx":21937
 *     """
 *     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":21938
 *     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":21937
 *     """
 *     cdef cydriver.CUlinkState cystate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21939
 *     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":21940
 *         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, 21940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21939
 *     if state is None:
 *         pstate = 0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21942
 *         pstate = int(state)
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_state};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21942, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21943
 *     else:
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21943, __pyx_L1_error)
  __pyx_v_cystate = ((CUlinkState)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21944
 *         pstate = int(CUlinkState(state))
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLinkDestroy(cystate)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21945
 *     cystate = <cydriver.CUlinkState><void_ptr>pstate
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLinkDestroy(__pyx_v_cystate); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21945, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21944
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21946
 *     with nogil:
 *         err = cydriver.cuLinkDestroy(cystate)
 *     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, 21946, __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, 21946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 21946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21946, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21918
 *     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_7);
  __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":21948
 *     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, 21948, __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, 21948, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21948, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21948, __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, 21948, __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, 21948, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21948, __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, 21949, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetTexRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21948, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetTexRef", 0);

  /* "cuda/bindings/driver.pyx":21980
 *     """
 *     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":21981
 *     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":21980
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21982
 *     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":21983
 *         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, 21983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":21982
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":21985
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21985, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":21986
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21986, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":21987
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21987, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pTexRef = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtexref *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":21988
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":21989
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetTexRef(((CUtexref *)__pyx_v_pTexRef->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 21989, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":21988
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":21990
 *     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":21991
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21991, __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, 21991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 21991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 21991, __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, 21991, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":21990
 *     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":21992
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21992, __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, 21992, __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, 21992, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 21992, __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, 21992, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pTexRef)) != (0)) __PYX_ERR(0, 21992, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21948
 *     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_7);
  __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":21994
 *     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, 21994, __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, 21994, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 21994, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 21994, __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, 21994, __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, 21994, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 21994, __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, 21995, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetSurfRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 21994, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuModuleGetSurfRef", 0);

  /* "cuda/bindings/driver.pyx":22024
 *     """
 *     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":22025
 *     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":22024
 *     """
 *     cdef cydriver.CUmodule cyhmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22026
 *     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":22027
 *         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, 22027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22026
 *     if hmod is None:
 *         phmod = 0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22029
 *         phmod = int(hmod)
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hmod};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22029, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22030
 *     else:
 *         phmod = int(CUmodule(hmod))
 *     cyhmod = <cydriver.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22030, __pyx_L1_error)
  __pyx_v_cyhmod = ((CUmodule)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22031
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22031, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pSurfRef = ((struct __pyx_obj_4cuda_8bindings_6driver_CUsurfref *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22032
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22033
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuModuleGetSurfRef(((CUsurfref *)__pyx_v_pSurfRef->_pvt_ptr), __pyx_v_cyhmod, __pyx_v_name); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22033, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22032
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22034
 *     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":22035
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22035, __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, 22035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22035, __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, 22035, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22034
 *     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":22036
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22036, __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, 22036, __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, 22036, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22036, __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, 22036, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pSurfRef)) != (0)) __PYX_ERR(0, 22036, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":21994
 *     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_7);
  __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":22038
 *     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, or `Tile`\nIR data. 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 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 va""lues 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:`~.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, 22038, __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, 22038, __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, 22038, __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, 22038, __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, 22038, __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, 22038, __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, 22038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22038, __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, 22038, __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, 22038, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22038, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22038, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 22038, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 22038, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 22038, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 22038, __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, 22039, __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, 22039, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, __pyx_nargs); __PYX_ERR(0, 22038, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator125(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":22107
 *     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_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, 22107, __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_2generator125, ((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_cuLibraryLoadData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 22107, __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_2generator125(__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, 22107, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 22107, __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, 22107, __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, 22107, __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, 22107, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 22107, __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, 22107, __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, 22107, __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, 22107, __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, 22107, __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_5generator126(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":22111
 *     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_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, 22111, __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_5generator126, ((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_cuLibraryLoadData_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 22111, __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_5generator126(__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, 22111, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 22111, __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, 22111, __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, 22111, __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, 22111, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 22111, __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, 22111, __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, 22111, __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, 22111, __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, 22111, __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":22038
 *     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_2generator125 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator126 = 0;
  PyObject *__pyx_10genexpr265__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr266__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr266__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr267__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr268__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr268__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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  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":22105
 *     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, 22105, __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":22106
 *     """
 *     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, 22106, __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":22107
 *     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, 22107, __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, 22107, __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, 22107, __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":22108
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22108, __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, 22108, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":22107
 *     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":22109
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":22110
 *         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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":22111
 *     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, 22111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 22111, __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":22112
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_jitOptions_is_not_insta};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22112, __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, 22112, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":22111
 *     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":22113
 *     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_3 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22113, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_library = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22114
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_code};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22114, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_cycode = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22115
 *     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_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cycode), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cycode_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22116
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22116, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    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, 22116, __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, 22116, __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, 22116, __pyx_L7_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 22116, __pyx_L7_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22116, __pyx_L7_error)
      } else {
        __pyx_t_9 = __pyx_t_8(__pyx_t_3);
        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, 22116, __pyx_L7_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr265__pyx_v_pyjitOptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr265__pyx_v_pyjitOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22116, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 22116, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr265__pyx_v_pyjitOptions); __pyx_10genexpr265__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr265__pyx_v_pyjitOptions); __pyx_10genexpr265__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_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_10);

  /* "cuda/bindings/driver.pyx":22117
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22117, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_v_jitOptions, __pyx_v_jitOptionsValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22117, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_9 = __pyx_t_3; __Pyx_INCREF(__pyx_t_9);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22117, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22117, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 22117, __pyx_L14_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_9, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_7;
        } 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, 22117, __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_9, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22117, __pyx_L14_error)
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_9);
        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, 22117, __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, 22117, __pyx_L14_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_11);
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_12);
        } else {
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22117, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_11);
          __pyx_t_12 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22117, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_12);
        }
        #else
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22117, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22117, __pyx_L14_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, 22117, __pyx_L14_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_11 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        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, 22117, __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, 22117, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr266__pyx_v_pyoptions, __pyx_t_11);
      __pyx_t_11 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr266__pyx_v_pyoptionValues, __pyx_t_12);
      __pyx_t_12 = 0;
      __pyx_t_12 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_10genexpr266__pyx_v_pyoptions, __pyx_10genexpr266__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22117, __pyx_L14_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 22117, __pyx_L14_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptionValues); __pyx_10genexpr266__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptions); __pyx_10genexpr266__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptionValues); __pyx_10genexpr266__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptions); __pyx_10genexpr266__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L20_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22118
 *     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_9 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22118, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22119
 *     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_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyjitOptionsValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22120
 *     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, 22120, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_9 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22120, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22120, __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, 22120, __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, 22120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22120, __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, 22120, __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, 22120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22120, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22120, __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, 22120, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22121
 *     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, 22121, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22121, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22121, __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, 22121, __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, 22121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22121, __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_numJitOptions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_3, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22121, __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, 22121, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22122
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22122, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_libraryOptions)) || PyTuple_CheckExact(__pyx_v_libraryOptions)) {
      __pyx_t_9 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_9);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_libraryOptions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22122, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22122, __pyx_L25_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        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, 22122, __pyx_L25_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_9, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_7;
        } 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, 22122, __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_9, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22122, __pyx_L25_error)
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_9);
        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, 22122, __pyx_L25_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr267__pyx_v_pylibraryOptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr267__pyx_v_pylibraryOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22122, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 22122, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF(__pyx_10genexpr267__pyx_v_pylibraryOptions); __pyx_10genexpr267__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr267__pyx_v_pylibraryOptions); __pyx_10genexpr267__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_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":22123
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22123, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues};
      __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22123, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
      __pyx_t_3 = __pyx_t_9; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22123, __pyx_L32_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, 22123, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    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, 22123, __pyx_L32_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_9 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 22123, __pyx_L32_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
          #else
          __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22123, __pyx_L32_error)
      } else {
        __pyx_t_9 = __pyx_t_8(__pyx_t_3);
        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, 22123, __pyx_L32_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, 22123, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_12);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_12 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22123, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_12);
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22123, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_12 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22123, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22123, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 22123, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_13);
        index = 0; __pyx_t_12 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_12)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        index = 1; __pyx_t_11 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < (0)) __PYX_ERR(0, 22123, __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, 22123, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr268__pyx_v_pyoptions, __pyx_t_12);
      __pyx_t_12 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr268__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr268__pyx_v_pyoptions, __pyx_10genexpr268__pyx_v_pyoptionValues};
        __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption, __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;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22123, __pyx_L32_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_9);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 22123, __pyx_L32_error)
      __Pyx_DECREF((PyObject *)__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr268__pyx_v_pyoptionValues); __pyx_10genexpr268__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr268__pyx_v_pyoptions); __pyx_10genexpr268__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr268__pyx_v_pyoptionValues); __pyx_10genexpr268__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr268__pyx_v_pyoptions); __pyx_10genexpr268__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22124
 *     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_3 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22124, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22125
 *     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_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylibraryOptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22126
 *     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, 22126, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22126, __pyx_L1_error)
    __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22126, __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, 22126, __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, 22126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22126, __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_numLibraryOptions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_12 = __Pyx_PyObject_Unicode(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_3, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22126, __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, 22126, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22127
 *     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_7 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22127, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_7);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_9 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22127, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22127, __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, 22127, __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, 22127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22127, __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_numLibraryOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22127, __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, 22127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22127, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22127, __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, 22127, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22128
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22129
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22129, __pyx_L42_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":22128
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L43;
        }
        __pyx_L42_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L43:;
      }
  }

  /* "cuda/bindings/driver.pyx":22130
 *     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":22131
 *         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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22131, __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, 22131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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, 22131, __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, 22131, __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, 22131, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22130
 *     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":22132
 *     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, 22132, __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, 22132, __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, 22132, __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, 22132, __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, 22132, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_library);
  __Pyx_GIVEREF((PyObject *)__pyx_v_library);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_library)) != (0)) __PYX_ERR(0, 22132, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22038
 *     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_9);
  __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_2generator125);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_17cuLibraryLoadData_5generator126);
  __Pyx_XDECREF(__pyx_10genexpr265__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr266__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr267__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr268__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr268__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":22134
 *     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 or hand-written, or `Tile` IR file. A fatbin should also\ncontain 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\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    Optio""ns 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, 22134, __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, 22134, __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, 22134, __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, 22134, __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, 22134, __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, 22134, __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, 22134, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22134, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22134, __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, 22134, __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, 22134, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22134, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22134, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 22134, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 22134, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 22134, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 22134, __pyx_L3_error)
    }
    __pyx_v_fileName = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fileName) && PyErr_Occurred())) __PYX_ERR(0, 22135, __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, 22135, __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, 22135, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, __pyx_nargs); __PYX_ERR(0, 22134, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator127(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":22203
 *     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_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, 22203, __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_2generator127, ((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_cuLibraryLoadFromFile_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 22203, __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_2generator127(__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, 22203, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 22203, __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, 22203, __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, 22203, __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, 22203, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 22203, __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, 22203, __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, 22203, __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, 22203, __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, 22203, __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_5generator128(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":22207
 *     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_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, 22207, __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_5generator128, ((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_cuLibraryLoadFromFile_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 22207, __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_5generator128(__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, 22207, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 22207, __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, 22207, __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, 22207, __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, 22207, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 22207, __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, 22207, __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, 22207, __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, 22207, __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, 22207, __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":22134
 *     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_2generator127 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator128 = 0;
  PyObject *__pyx_10genexpr271__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr272__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr272__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr273__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr274__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr274__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;
  size_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  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":22201
 *     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, 22201, __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":22202
 *     """
 *     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, 22202, __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":22203
 *     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, 22203, __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, 22203, __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, 22203, __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":22204
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22204, __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, 22204, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":22203
 *     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":22205
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":22206
 *         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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":22207
 *     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, 22207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 22207, __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":22208
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_jitOptions_is_not_insta};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22208, __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, 22208, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":22207
 *     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":22209
 *     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_3 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22209, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_library = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22210
 *         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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22210, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    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_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22210, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22210, __pyx_L7_error)
    }
    for (;;) {
      if (likely(!__pyx_t_7)) {
        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, 22210, __pyx_L7_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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, 22210, __pyx_L7_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6));
          #else
          __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22210, __pyx_L7_error)
      } else {
        __pyx_t_8 = __pyx_t_7(__pyx_t_3);
        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, 22210, __pyx_L7_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_XDECREF_SET(__pyx_10genexpr271__pyx_v_pyjitOptions, __pyx_t_8);
      __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr271__pyx_v_pyjitOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22210, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 22210, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyjitOptions); __pyx_10genexpr271__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyjitOptions); __pyx_10genexpr271__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_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_9);

  /* "cuda/bindings/driver.pyx":22211
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22211, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_jitOptions, __pyx_v_jitOptionsValues};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22211, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22211, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22211, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        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, 22211, __pyx_L14_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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, 22211, __pyx_L14_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22211, __pyx_L14_error)
      } else {
        __pyx_t_3 = __pyx_t_7(__pyx_t_8);
        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, 22211, __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, 22211, __pyx_L14_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_10);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22211, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_10);
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22211, __pyx_L14_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22211, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22211, __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, 22211, __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_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        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, 22211, __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, 22211, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr272__pyx_v_pyoptions, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr272__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr272__pyx_v_pyoptions, __pyx_10genexpr272__pyx_v_pyoptionValues};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option, __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;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22211, __pyx_L14_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 22211, __pyx_L14_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptionValues); __pyx_10genexpr272__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptions); __pyx_10genexpr272__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptionValues); __pyx_10genexpr272__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptions); __pyx_10genexpr272__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L20_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22212
 *     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_8 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22212, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22213
 *     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_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyjitOptionsValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_14));

  /* "cuda/bindings/driver.pyx":22214
 *     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_6 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22214, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_8 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_jitOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22214, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22214, __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, 22214, __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, 22214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22214, __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_numJitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22214, __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, 22214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22214, __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_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 22214, __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, 22214, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22215
 *     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_6 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22215, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22215, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22215, __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, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22215, __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, 22215, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22216
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22216, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_libraryOptions)) || PyTuple_CheckExact(__pyx_v_libraryOptions)) {
      __pyx_t_8 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_8);
      __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_libraryOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22216, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22216, __pyx_L25_error)
    }
    for (;;) {
      if (likely(!__pyx_t_7)) {
        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, 22216, __pyx_L25_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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, 22216, __pyx_L25_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22216, __pyx_L25_error)
      } else {
        __pyx_t_3 = __pyx_t_7(__pyx_t_8);
        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, 22216, __pyx_L25_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr273__pyx_v_pylibraryOptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr273__pyx_v_pylibraryOptions, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22216, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 22216, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_pylibraryOptions); __pyx_10genexpr273__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_pylibraryOptions); __pyx_10genexpr273__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_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_15);

  /* "cuda/bindings/driver.pyx":22217
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22217, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_libraryOptions, __pyx_v_libraryOptionValues};
      __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22217, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
      __pyx_t_3 = __pyx_t_8; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22217, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22217, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        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, 22217, __pyx_L32_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_6;
        } 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, 22217, __pyx_L32_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6));
          #else
          __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_6);
          #endif
          ++__pyx_t_6;
        }
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22217, __pyx_L32_error)
      } else {
        __pyx_t_8 = __pyx_t_7(__pyx_t_3);
        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, 22217, __pyx_L32_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, 22217, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_11);
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_10);
        } else {
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22217, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_11);
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22217, __pyx_L32_error)
          __Pyx_XGOTREF(__pyx_t_10);
        }
        #else
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22217, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22217, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22217, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        index = 1; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < (0)) __PYX_ERR(0, 22217, __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, 22217, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr274__pyx_v_pyoptions, __pyx_t_11);
      __pyx_t_11 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr274__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_10 = NULL;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_10genexpr274__pyx_v_pyoptions, __pyx_10genexpr274__pyx_v_pyoptionValues};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22217, __pyx_L32_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_8);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 22217, __pyx_L32_error)
      __Pyx_DECREF((PyObject *)__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr274__pyx_v_pyoptionValues); __pyx_10genexpr274__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr274__pyx_v_pyoptions); __pyx_10genexpr274__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr274__pyx_v_pyoptionValues); __pyx_10genexpr274__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr274__pyx_v_pyoptions); __pyx_10genexpr274__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22218
 *     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_3 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pylist};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22218, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_8bindings_6driver__InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":22219
 *     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_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cylibraryOptionValues_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_14));

  /* "cuda/bindings/driver.pyx":22220
 *     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_6 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22220, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_libraryOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22220, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22220, __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, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22220, __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, 22220, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22221
 *     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_6 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22221, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_8 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22221, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22221, __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, 22221, __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, 22221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 22221, __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, 22221, __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, 22221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22221, __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_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 22221, __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, 22221, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":22222
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22223
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22223, __pyx_L42_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":22222
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L43;
        }
        __pyx_L42_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L43:;
      }
  }

  /* "cuda/bindings/driver.pyx":22224
 *     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":22225
 *         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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22225, __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, 22225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 22225, __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, 22225, __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, 22225, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22224
 *     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":22226
 *     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, 22226, __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, 22226, __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, 22226, __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, 22226, __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, 22226, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_library);
  __Pyx_GIVEREF((PyObject *)__pyx_v_library);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_library)) != (0)) __PYX_ERR(0, 22226, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22134
 *     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_8);
  __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_2generator127);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_21cuLibraryLoadFromFile_5generator128);
  __Pyx_XDECREF(__pyx_10genexpr271__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr272__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr273__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr274__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr274__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":22228
 *     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, 22228, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22228, __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, 22228, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22228, __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, 22228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryUnload", 0);

  /* "cuda/bindings/driver.pyx":22249
 *     """
 *     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":22250
 *     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":22249
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22251
 *     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":22252
 *         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, 22252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22251
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22254
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22254, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22255
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22255, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22256
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLibraryUnload(cylibrary)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22257
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryUnload(__pyx_v_cylibrary); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22257, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22256
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22258
 *     with nogil:
 *         err = cydriver.cuLibraryUnload(cylibrary)
 *     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, 22258, __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, 22258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 22258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22258, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22228
 *     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_7);
  __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":22260
 *     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, 22260, __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, 22260, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22260, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22260, __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, 22260, __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, 22260, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22260, __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, 22261, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernel", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22260, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetKernel", 0);

  /* "cuda/bindings/driver.pyx":22287
 *     """
 *     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":22288
 *     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":22287
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22289
 *     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":22290
 *         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, 22290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22289
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22292
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22292, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22293
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUkernel pKernel = CUkernel()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22293, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22294
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22294, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pKernel = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernel *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22295
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22296
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernel(((CUkernel *)__pyx_v_pKernel->_pvt_ptr), __pyx_v_cylibrary, __pyx_v_name); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22296, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22295
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22297
 *     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":22298
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22298, __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, 22298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22298, __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, 22298, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22297
 *     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":22299
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22299, __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, 22299, __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, 22299, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22299, __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, 22299, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pKernel);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pKernel);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pKernel)) != (0)) __PYX_ERR(0, 22299, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22260
 *     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_7);
  __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":22301
 *     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, 22301, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22301, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22301, __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, 22301, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22301, __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, 22301, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetKernelCount", 0);

  /* "cuda/bindings/driver.pyx":22320
 *     """
 *     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":22321
 *     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":22320
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22322
 *     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":22323
 *         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, 22323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22322
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22325
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_lib};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22325, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22326
 *     else:
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22326, __pyx_L1_error)
  __pyx_v_cylib = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22327
 *         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":22328
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22329
 *     cdef unsigned int count = 0
 *     with nogil:
 *         err = cydriver.cuLibraryGetKernelCount(&count, cylib)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetKernelCount((&__pyx_v_count), __pyx_v_cylib); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22329, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22328
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22330
 *     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":22331
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22331, __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, 22331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22331, __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, 22331, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22330
 *     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":22332
 *     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, 22332, __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, 22332, __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, 22332, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 22332, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22301
 *     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_7);
  __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":22334
 *     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, 22334, __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, 22334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22334, __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, 22334, __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, 22334, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22334, __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, 22335, __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, 22334, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_10genexpr275__pyx_v_idx;
  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;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryEnumerateKernels", 0);

  /* "cuda/bindings/driver.pyx":22361
 *     """
 *     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":22362
 *     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":22361
 *     """
 *     cdef cydriver.CUlibrary cylib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22363
 *     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":22364
 *         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, 22364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22363
 *     if lib is None:
 *         plib = 0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22366
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_lib};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22366, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22367
 *     else:
 *         plib = int(CUlibrary(lib))
 *     cylib = <cydriver.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel* cykernels = NULL
 *     pykernels = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22367, __pyx_L1_error)
  __pyx_v_cylib = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22368
 *         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":22369
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pykernels = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22370
 *     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":22371
 *     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":22372
 *     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":22373
 *         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_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numKernels); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22373, __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, 22373, __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, 22373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22373, __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(CUkernel))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22373, __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, 22373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22373, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 22373, __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, 22373, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":22372
 *     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":22370
 *     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":22374
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22375
 *             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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryEnumerateKernels(__pyx_v_cykernels, __pyx_v_numKernels, __pyx_v_cylib); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22375, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":22374
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":22376
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22376, __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, 22376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __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_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 22376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":22377
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = __pyx_v_numKernels;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr275__pyx_v_idx = __pyx_t_12;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cykernels[__pyx_10genexpr275__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22377, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22377, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 22377, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
          __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, 22377, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 22377, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pykernels, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":22376
 *     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":22378
 *     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":22379
 *         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":22378
 *     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":22380
 *     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":22381
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22381, __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, 22381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22381, __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, 22381, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22380
 *     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":22382
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22382, __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, 22382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22382, __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, 22382, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pykernels);
  __Pyx_GIVEREF(__pyx_v_pykernels);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pykernels) != (0)) __PYX_ERR(0, 22382, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22334
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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":22384
 *     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, 22384, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22384, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22384, __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, 22384, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22384, __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, 22384, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetModule", 0);

  /* "cuda/bindings/driver.pyx":22409
 *     """
 *     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":22410
 *     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":22409
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22411
 *     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":22412
 *         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, 22412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22411
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22414
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22414, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22415
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUmodule pMod = CUmodule()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22415, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22416
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22416, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pMod = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22417
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22418
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetModule(((CUmodule *)__pyx_v_pMod->_pvt_ptr), __pyx_v_cylibrary); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22418, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22417
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22419
 *     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":22420
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22420, __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, 22420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22420, __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, 22420, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22419
 *     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":22421
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22421, __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, 22421, __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, 22421, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22421, __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, 22421, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pMod)) != (0)) __PYX_ERR(0, 22421, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22384
 *     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_7);
  __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":22423
 *     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, 22423, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22423, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22423, __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, 22423, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22423, __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, 22423, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetFunction", 0);

  /* "cuda/bindings/driver.pyx":22448
 *     """
 *     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":22449
 *     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":22448
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22450
 *     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":22451
 *         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, 22451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22450
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22453
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22453, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22454
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef CUfunction pFunc = CUfunction()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22454, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22455
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22455, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pFunc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUfunction *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22456
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22457
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetFunction(((CUfunction *)__pyx_v_pFunc->_pvt_ptr), __pyx_v_cykernel); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22457, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22456
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22458
 *     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":22459
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22459, __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, 22459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22459, __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, 22459, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22458
 *     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":22460
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22460, __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, 22460, __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, 22460, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22460, __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, 22460, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pFunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pFunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pFunc)) != (0)) __PYX_ERR(0, 22460, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22423
 *     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_7);
  __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":22462
 *     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, 22462, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22462, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22462, __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, 22462, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22462, __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, 22462, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetLibrary", 0);

  /* "cuda/bindings/driver.pyx":22486
 *     """
 *     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":22487
 *     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":22486
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22488
 *     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":22489
 *         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, 22489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22488
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22491
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef CUlibrary pLib = CUlibrary()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22491, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22492
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef CUlibrary pLib = CUlibrary()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22492, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22493
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22493, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pLib = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlibrary *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":22494
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22495
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetLibrary(((CUlibrary *)__pyx_v_pLib->_pvt_ptr), __pyx_v_cykernel); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22495, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22494
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22496
 *     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":22497
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22497, __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, 22497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22497, __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, 22497, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22496
 *     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":22498
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22498, __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, 22498, __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, 22498, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22498, __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, 22498, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pLib);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pLib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pLib)) != (0)) __PYX_ERR(0, 22498, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22462
 *     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_7);
  __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":22500
 *     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, 22500, __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, 22500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22500, __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, 22500, __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, 22500, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22500, __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, 22501, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22500, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetGlobal", 0);

  /* "cuda/bindings/driver.pyx":22531
 *     """
 *     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":22532
 *     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":22531
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22533
 *     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":22534
 *         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, 22534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22533
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22536
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22536, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22537
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22537, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22538
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22538, __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":22539
 *     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":22540
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22541
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22541, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22540
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22542
 *     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":22543
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22543, __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, 22543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22543, __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, 22543, __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, 22543, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22542
 *     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":22544
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22544, __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, 22544, __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, 22544, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22544, __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, 22544, __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, 22544, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 22544, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22500
 *     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_7);
  __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":22546
 *     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, 22546, __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, 22546, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22546, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22546, __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, 22546, __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, 22546, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22546, __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, 22547, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22546, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetManaged", 0);

  /* "cuda/bindings/driver.pyx":22579
 *     """
 *     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":22580
 *     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":22579
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22581
 *     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":22582
 *         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, 22582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22581
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22584
 *         plibrary = int(library)
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22584, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22585
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22585, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22586
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22586, __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":22587
 *     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":22588
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22589
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22589, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22588
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22590
 *     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":22591
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22591, __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, 22591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22591, __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, 22591, __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, 22591, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22590
 *     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":22592
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22592, __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, 22592, __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, 22592, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22592, __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, 22592, __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, 22592, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 22592, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22546
 *     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_7);
  __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":22594
 *     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, 22594, __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, 22594, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22594, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22594, __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, 22594, __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, 22594, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22594, __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, 22595, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetUnifiedFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 22594, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLibraryGetUnifiedFunction", 0);

  /* "cuda/bindings/driver.pyx":22624
 *     """
 *     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":22625
 *     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":22624
 *     """
 *     cdef cydriver.CUlibrary cylibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22626
 *     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":22627
 *         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, 22627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22626
 *     if library is None:
 *         plibrary = 0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22629
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_library};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22629, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22630
 *     else:
 *         plibrary = int(CUlibrary(library))
 *     cylibrary = <cydriver.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef void_ptr fptr = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22630, __pyx_L1_error)
  __pyx_v_cylibrary = ((CUlibrary)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22631
 *         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":22632
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22633
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLibraryGetUnifiedFunction(((void **)(&__pyx_v_fptr)), __pyx_v_cylibrary, __pyx_v_symbol); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22633, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22632
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22634
 *     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":22635
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22635, __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, 22635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22635, __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, 22635, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22634
 *     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":22636
 *     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, 22636, __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, 22636, __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, 22636, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_fptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22636, __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, 22636, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 22636, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22594
 *     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_7);
  __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":22638
 *     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, 22638, __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, 22638, __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, 22638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22638, __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, 22638, __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, 22638, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22638, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22638, __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, 22638, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 22639, __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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunction_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":22747
 *     """
 *     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":22748
 *     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":22747
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22749
 *     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":22750
 *         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, 22750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22749
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22752
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22752, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22753
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22753, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":22755
 *     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":22756
 *     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":22755
 *     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":22757
 *     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":22758
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":22757
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22760
 *         pkernel = int(kernel)
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22760, __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, 22760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22761
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  __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, 22761, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22762
 *         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":22763
 *     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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":22764
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22765
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cykernel, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22765, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":22764
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22766
 *     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":22767
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22767, __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, 22767, __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, 22767, __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, 22767, __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, 22767, __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, 22767, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22766
 *     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":22768
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22768, __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, 22768, __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, 22768, __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_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22768, __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, 22768, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_9) != (0)) __PYX_ERR(0, 22768, __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":22638
 *     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_9);
  __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":22770
 *     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, 22770, __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, 22770, __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, 22770, __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, 22770, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22770, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22770, __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, 22770, __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, 22770, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22770, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22770, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 22770, __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, 22771, __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, 22770, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 22771, __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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunction_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":22862
 *     """
 *     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":22863
 *     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":22862
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22864
 *     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":22865
 *         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, 22865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22864
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22867
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22867, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22868
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22868, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":22870
 *     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":22871
 *     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":22870
 *     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":22872
 *     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":22873
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":22872
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22875
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22875, __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, 22875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22876
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     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, 22876, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22877
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyattrib = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":22878
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22879
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelSetAttribute(__pyx_v_cyattrib, __pyx_v_val, __pyx_v_cykernel, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22879, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":22878
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22880
 *     with nogil:
 *         err = cydriver.cuKernelSetAttribute(cyattrib, val, cykernel, cydev)
 *     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, 22880, __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, 22880, __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, 22880, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22880, __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, 22880, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22770
 *     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_9);
  __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":22882
 *     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, 22882, __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, 22882, __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, 22882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22882, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22882, __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, 22882, __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, 22882, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 22882, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 22882, __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, 22882, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 22883, __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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUfunc_cache __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelSetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":22943
 *     """
 *     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":22944
 *     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":22943
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22945
 *     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":22946
 *         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, 22946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22945
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22948
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUkernel cykernel
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22948, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22949
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 22949, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":22951
 *     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":22952
 *     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":22951
 *     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":22953
 *     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":22954
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":22953
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":22956
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernel};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22956, __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, 22956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":22957
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     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, 22957, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":22958
 *         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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = ((enum CUfunc_cache_enum)__Pyx_PyLong_As_enum__CUfunc_cache_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyconfig = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":22959
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22960
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelSetCacheConfig(__pyx_v_cykernel, __pyx_v_cyconfig, __pyx_v_cydev); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22960, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":22959
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":22961
 *     with nogil:
 *         err = cydriver.cuKernelSetCacheConfig(cykernel, cyconfig, cydev)
 *     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, 22961, __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, 22961, __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, 22961, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22961, __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, 22961, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22882
 *     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_9);
  __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":22963
 *     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, 22963, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 22963, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 22963, __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, 22963, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 22963, __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, 22963, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuKernelGetName", 0);

  /* "cuda/bindings/driver.pyx":22988
 *     """
 *     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":22989
 *     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":22988
 *     """
 *     cdef cydriver.CUkernel cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22990
 *     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":22991
 *         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, 22991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":22990
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":22993
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22993, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":22994
 *     else:
 *         phfunc = int(CUkernel(hfunc))
 *     cyhfunc = <cydriver.CUkernel><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22994, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":22995
 *         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":22996
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":22997
 *     cdef const char* name = NULL
 *     with nogil:
 *         err = cydriver.cuKernelGetName(&name, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetName((&__pyx_v_name), __pyx_v_cyhfunc); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 22997, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":22996
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":22998
 *     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":22999
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22999, __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, 22999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 22999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 22999, __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, 22999, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":22998
 *     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":23000
 *     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, 23000, __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, 23000, __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, 23000, __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_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, 23000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_t_7 = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_7 = Py_None;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23000, __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, 23000, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 23000, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":22963
 *     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_7);
  __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":23002
 *     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, 23002, __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, 23002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23002, __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, 23002, __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, 23002, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23002, __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, 23003, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuKernelGetParamInfo", 0);

  /* "cuda/bindings/driver.pyx":23039
 *     """
 *     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":23040
 *     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":23039
 *     """
 *     cdef cydriver.CUkernel cykernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23041
 *     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":23042
 *         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, 23042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23041
 *     if kernel is None:
 *         pkernel = 0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23044
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernel};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23044, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23045
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *     cykernel = <cydriver.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23045, __pyx_L1_error)
  __pyx_v_cykernel = ((CUkernel)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23046
 *         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":23047
 *     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":23048
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23049
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuKernelGetParamInfo(__pyx_v_cykernel, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23049, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23048
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23050
 *     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":23051
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23051, __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, 23051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23051, __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, 23051, __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, 23051, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23050
 *     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":23052
 *     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, 23052, __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, 23052, __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, 23052, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23052, __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, 23052, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 23052, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 23052, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23002
 *     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_7);
  __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":23054
 *     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":23088
 *     :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":23089
 *     """
 *     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":23090
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23091
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23091, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":23090
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23092
 *     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":23093
 *         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, 23093, __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, 23093, __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, 23093, __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, 23093, __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, 23093, __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, 23093, __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, 23093, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23092
 *     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":23094
 *     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, 23094, __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, 23094, __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, 23094, __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, 23094, __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, 23094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23094, __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, 23094, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 23094, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4) != (0)) __PYX_ERR(0, 23094, __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":23054
 *     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":23096
 *     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, 23096, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23096, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23096, __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, 23096, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23096, __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, 23097, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAlloc", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23096, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAlloc", 0);

  /* "cuda/bindings/driver.pyx":23122
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23122, __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":23123
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAlloc(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23124
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAlloc(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23124, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":23123
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23125
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":23126
 *         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, 23126, __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, 23126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 23126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 23126, __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, 23126, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23125
 *     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":23127
 *     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, 23127, __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, 23127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23127, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 23127, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23096
 *     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_6);
  __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":23129
 *     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, 23129, __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, 23129, __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, 23129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23129, __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, 23129, __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, 23129, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23129, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23129, __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, 23130, __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, 23130, __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, 23130, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 23129, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocPitch", 0);

  /* "cuda/bindings/driver.pyx":23187
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23187, __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":23188
 *     """
 *     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":23189
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23190
 *     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_4 = __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_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23190, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":23189
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23191
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":23192
 *         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, 23192, __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, 23192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 23192, __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, 23192, __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, 23192, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23191
 *     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":23193
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23193, __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, 23193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v_pPitch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23193, __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, 23193, __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, 23193, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_6) != (0)) __PYX_ERR(0, 23193, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23129
 *     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_6);
  __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":23195
 *     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, 23195, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23195, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23195, __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, 23195, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23195, __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, 23195, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFree", 0);

  /* "cuda/bindings/driver.pyx":23229
 *     """
 *     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":23230
 *     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":23229
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23231
 *     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":23232
 *         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, 23232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23231
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23234
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23234, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23235
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23235, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23236
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFree(cydptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23237
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFree(__pyx_v_cydptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23237, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23236
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23238
 *     with nogil:
 *         err = cydriver.cuMemFree(cydptr)
 *     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, 23238, __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, 23238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 23238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23238, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23195
 *     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_7);
  __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":23240
 *     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 that contains the input pointer `dptr`. Both parameters\n`pbase` and `psize` are optional. If one of them is NULL, it is\nignored.\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, 23240, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23240, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23240, __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, 23240, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23240, __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, 23240, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAddressRange", 0);

  /* "cuda/bindings/driver.pyx":23268
 *     """
 *     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":23269
 *     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":23268
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23270
 *     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":23271
 *         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, 23271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23270
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23273
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23273, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23274
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23274, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23275
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23275, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pbase = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":23276
 *     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":23277
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23278
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAddressRange(((CUdeviceptr *)__pyx_v_pbase->_pvt_ptr), (&__pyx_v_psize), __pyx_v_cydptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23278, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23277
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23279
 *     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":23280
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23280, __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, 23280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23280, __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, 23280, __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, 23280, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23279
 *     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":23281
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23281, __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, 23281, __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, 23281, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_psize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23281, __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, 23281, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pbase);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pbase);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pbase)) != (0)) __PYX_ERR(0, 23281, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 23281, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23240
 *     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_7);
  __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":23283
 *     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, 23283, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23283, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23283, __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, 23283, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23283, __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, 23284, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocHost", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23283, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":23330
 *     :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":23331
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23332
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23332, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":23331
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocHost(<void**>&pp, bytesize)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23333
 *     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":23334
 *         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, 23334, __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, 23334, __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, 23334, __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, 23334, __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, 23334, __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, 23334, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23333
 *     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":23335
 *     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, 23335, __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, 23335, __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, 23335, __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, 23335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23335, __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, 23335, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 23335, __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":23283
 *     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":23337
 *     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, 23337, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23337, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23337, __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, 23337, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23337, __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, 23337, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFreeHost", 0);

  /* "cuda/bindings/driver.pyx":23358
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23358, __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":23359
 *     """
 *     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, 23359, __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, 23359, __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_4));

  /* "cuda/bindings/driver.pyx":23360
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23361
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemFreeHost(cyp_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFreeHost(__pyx_v_cyp_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23361, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23360
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23362
 *     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, 23362, __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, 23362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 23362, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23337
 *     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_6);
  __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":23364
 *     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, 23364, __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, 23364, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23364, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23364, __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, 23364, __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, 23364, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23364, __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, 23365, __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, 23365, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostAlloc", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23364, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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":23447
 *     :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":23448
 *     """
 *     cdef void_ptr pp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23449
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23449, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":23448
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23450
 *     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":23451
 *         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, 23451, __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, 23451, __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, 23451, __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, 23451, __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, 23451, __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, 23451, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23450
 *     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":23452
 *     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, 23452, __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, 23452, __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, 23452, __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, 23452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23452, __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, 23452, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 23452, __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":23364
 *     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":23454
 *     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, 23454, __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, 23454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23454, __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, 23454, __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, 23454, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23454, __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, 23455, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostGetDevicePointer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostGetDevicePointer", 0);

  /* "cuda/bindings/driver.pyx":23505
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23505, __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":23506
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23506, __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":23507
 *     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, 23507, __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, 23507, __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_4));

  /* "cuda/bindings/driver.pyx":23508
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23509
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetDevicePointer(((CUdeviceptr *)__pyx_v_pdptr->_pvt_ptr), __pyx_v_cyp_ptr, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23509, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23508
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23510
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23511
 *         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, 23511, __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, 23511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 23511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23511, __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, 23511, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23510
 *     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":23512
 *     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, 23512, __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, 23512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23512, __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, 23512, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 23512, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23454
 *     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_7);
  __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":23514
 *     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, 23514, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23514, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23514, __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, 23514, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23514, __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, 23514, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostGetFlags", 0);

  /* "cuda/bindings/driver.pyx":23541
 *     :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":23542
 *     """
 *     cdef unsigned int pFlags = 0
 *     cyp = _HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23542, __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":23543
 *     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, 23543, __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, 23543, __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_4));

  /* "cuda/bindings/driver.pyx":23544
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23545
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostGetFlags((&__pyx_v_pFlags), __pyx_v_cyp_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23545, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":23544
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23546
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":23547
 *         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, 23547, __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, 23547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 23547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23547, __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, 23547, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23546
 *     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":23548
 *     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, 23548, __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, 23548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23548, __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, 23548, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 23548, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23514
 *     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_7);
  __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":23550
 *     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, 23550, __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, 23550, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23550, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23550, __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, 23550, __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, 23550, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23550, __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, 23551, __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, 23551, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 23550, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocManaged", 0);

  /* "cuda/bindings/driver.pyx":23677
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23677, __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":23678
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAllocManaged(<cydriver.CUdeviceptr*>dptr._pvt_ptr, bytesize, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23679
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocManaged(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23679, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":23678
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23680
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":23681
 *         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, 23681, __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, 23681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 23681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 23681, __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, 23681, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23680
 *     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":23682
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23682, __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, 23682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23682, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 23682, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23550
 *     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_6);
  __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":23690
 * 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":23692
 * @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":23693
 * 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":23694
 *     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":23693
 * 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":23690
 * 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":23696
 *         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_2,&__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, 23696, __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, 23696, __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, 23696, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23696, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23696, __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, 23696, __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, 23696, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23696, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 23696, __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, 23696, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuDeviceRegisterAsyncNotification", 0);

  /* "cuda/bindings/driver.pyx":23740
 *     """
 *     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":23741
 *     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":23740
 *     """
 *     cdef cydriver.CUasyncCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23742
 *     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":23743
 *         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, 23743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23742
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23745
 *         pcallbackFunc = int(callbackFunc)
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))             # <<<<<<<<<<<<<<
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callbackFunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23745, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23746
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))
 *     cycallbackFunc = <cydriver.CUasyncCallback><void_ptr>pcallbackFunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23746, __pyx_L1_error)
  __pyx_v_cycallbackFunc = ((CUasyncCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23748
 *     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":23749
 *     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":23748
 *     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":23750
 *     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":23751
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":23750
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23753
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23753, __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, 23753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":23754
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23754, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":23755
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_userData};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23755, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":23756
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuAsyncCallbackData *cbData = NULL
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23758
 *     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":23759
 * 
 *     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":23760
 *     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":23761
 *     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_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23761, __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, 23761, __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, 23761, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23760
 *     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":23762
 *     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":23763
 *         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":23765
 *     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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23765, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_callback = ((struct __pyx_obj_4cuda_8bindings_6driver_CUasyncCallbackHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":23766
 * 
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23767
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23767, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23766
 * 
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":23768
 *     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":23769
 *         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":23768
 *     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":23771
 *         free(cbData)
 *     else:
 *         m_global._allocated[int(callback)] = cbData             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
  /*else*/ {
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_v_callback)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23771, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    (__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_5]) = __pyx_v_cbData;
  }
  __pyx_L9:;

  /* "cuda/bindings/driver.pyx":23772
 *     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":23773
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23773, __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, 23773, __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, 23773, __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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23773, __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, 23773, __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, 23773, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23772
 *     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":23774
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23774, __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, 23774, __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, 23774, __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_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 23774, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_callback);
  __Pyx_GIVEREF((PyObject *)__pyx_v_callback);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_callback)) != (0)) __PYX_ERR(0, 23774, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23696
 *         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_8);
  __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":23776
 *     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_2,&__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, 23776, __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, 23776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23776, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23776, __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, 23776, __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, 23776, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23776, __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, 23776, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuDeviceUnregisterAsyncNotification", 0);

  /* "cuda/bindings/driver.pyx":23801
 *     """
 *     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":23802
 *     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":23801
 *     """
 *     cdef cydriver.CUasyncCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23803
 *     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":23804
 *         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, 23804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23803
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23806
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23806, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23807
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))
 *     cycallback = <cydriver.CUasyncCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23807, __pyx_L1_error)
  __pyx_v_cycallback = ((CUasyncCallbackHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23809
 *     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":23810
 *     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":23809
 *     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":23811
 *     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":23812
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":23811
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":23814
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23814, __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, 23814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":23815
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
*/
  __pyx_t_6 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_6 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23815, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":23816
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23817
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
 *         err = cydriver.cuDeviceUnregisterAsyncNotification(cydevice, cycallback)             # <<<<<<<<<<<<<<
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceUnregisterAsyncNotification(__pyx_v_cydevice, __pyx_v_cycallback); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23817, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23816
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":23818
 *     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":23819
 *         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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23819, __pyx_L1_error)
    free((__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_5]));

    /* "cuda/bindings/driver.pyx":23820
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23820, __pyx_L1_error)
    (void)(__pyx_v_4cuda_8bindings_6driver_m_global->_allocated.erase(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5)));

    /* "cuda/bindings/driver.pyx":23818
 *     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":23821
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23821, __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, 23821, __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, 23821, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23821, __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, 23821, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23776
 *     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_8);
  __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":23823
 *     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, 23823, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23823, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23823, __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, 23823, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23823, __pyx_L3_error)
    }
    __pyx_v_pciBusId = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_pciBusId) && PyErr_Occurred())) __PYX_ERR(0, 23824, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetByPCIBusId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 23823, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetByPCIBusId", 0);

  /* "cuda/bindings/driver.pyx":23848
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23848, __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":23849
 *     """
 *     cdef CUdevice dev = CUdevice()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetByPCIBusId(<cydriver.CUdevice*>dev._pvt_ptr, pciBusId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23850
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetByPCIBusId(((CUdevice *)__pyx_v_dev->_pvt_ptr), __pyx_v_pciBusId); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23850, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":23849
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23851
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":23852
 *         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, 23852, __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, 23852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 23852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 23852, __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, 23852, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23851
 *     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":23853
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23853, __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, 23853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 23853, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dev);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dev);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_dev)) != (0)) __PYX_ERR(0, 23853, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23823
 *     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_6);
  __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":23855
 *     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, 23855, __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, 23855, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23855, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23855, __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, 23855, __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, 23855, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 23855, __pyx_L3_error)
    }
    __pyx_v_length = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 23856, __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, 23855, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  char *__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("cuDeviceGetPCIBusId", 0);

  /* "cuda/bindings/driver.pyx":23886
 *     """
 *     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":23887
 *     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":23886
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23888
 *     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":23889
 *         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, 23889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23888
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23891
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23891, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23892
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 23892, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":23893
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:
*/
  __pyx_t_3 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_kp_b__5, __pyx_v_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pypciBusId = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":23894
 *     cydev = <cydriver.CUdevice>pdev
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
*/
  __pyx_t_6 = __Pyx_PyBytes_AsWritableString(__pyx_v_pypciBusId); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 23894, __pyx_L1_error)
  __pyx_v_pciBusId = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":23895
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23896
 *     cdef char* pciBusId = pypciBusId
 *     with nogil:
 *         err = cydriver.cuDeviceGetPCIBusId(pciBusId, length, cydev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetPCIBusId(__pyx_v_pciBusId, __pyx_v_length, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23896, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":23895
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23897
 *     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":23898
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23898, __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, 23898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 23898, __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, 23898, __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, 23898, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23897
 *     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":23899
 *     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, 23899, __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, 23899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 23899, __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, 23899, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypciBusId);
  __Pyx_GIVEREF(__pyx_v_pypciBusId);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_pypciBusId) != (0)) __PYX_ERR(0, 23899, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23855
 *     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_8);
  __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":23901
 *     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, 23901, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23901, __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, 23901, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23901, __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, 23901, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcGetEventHandle", 0);

  /* "cuda/bindings/driver.pyx":23945
 *     """
 *     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":23946
 *     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":23945
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23947
 *     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":23948
 *         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, 23948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":23947
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":23950
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23950, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":23951
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23951, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":23952
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23952, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcEventHandle *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":23953
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23954
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcGetEventHandle(((CUipcEventHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyevent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23954, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":23953
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":23955
 *     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":23956
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23956, __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, 23956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 23956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 23956, __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, 23956, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23955
 *     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":23957
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23957, __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, 23957, __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, 23957, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23957, __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, 23957, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 23957, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23901
 *     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_7);
  __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":23959
 *     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, 23959, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 23959, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 23959, __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, 23959, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 23959, __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, 23959, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 23960, __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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcOpenEventHandle", 0);

  /* "cuda/bindings/driver.pyx":23996
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23996, __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":23997
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":23998
 *     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_4 = __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_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 23998, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":23997
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":23999
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":24000
 *         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, 24000, __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, 24000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 24000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24000, __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, 24000, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":23999
 *     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":24001
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24001, __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, 24001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 24001, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 24001, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":23959
 *     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_6);
  __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":24003
 *     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, 24003, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 24003, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24003, __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, 24003, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24003, __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, 24003, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcGetMemHandle", 0);

  /* "cuda/bindings/driver.pyx":24042
 *     """
 *     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":24043
 *     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":24042
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24044
 *     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":24045
 *         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, 24045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24044
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24047
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24047, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24048
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24048, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24049
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24049, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_8bindings_6driver_CUipcMemHandle *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":24050
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24051
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcGetMemHandle(((CUipcMemHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cydptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24051, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24050
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24052
 *     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":24053
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24053, __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, 24053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 24053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24053, __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, 24053, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":24052
 *     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":24054
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24054, __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, 24054, __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, 24054, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24054, __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, 24054, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 24054, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24003
 *     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_7);
  __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":24056
 *     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, 24056, __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, 24056, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24056, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24056, __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, 24056, __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, 24056, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24056, __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, 24057, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcOpenMemHandle", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 24056, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 24057, __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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcOpenMemHandle", 0);

  /* "cuda/bindings/driver.pyx":24115
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24115, __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":24116
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24117
 *     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_4 = __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_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24117, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":24116
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24118
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":24119
 *         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, 24119, __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, 24119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 24119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24119, __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, 24119, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":24118
 *     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":24120
 *     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, 24120, __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, 24120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 24120, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 24120, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24056
 *     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_6);
  __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":24122
 *     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, 24122, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 24122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24122, __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, 24122, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24122, __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, 24122, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuIpcCloseMemHandle", 0);

  /* "cuda/bindings/driver.pyx":24157
 *     """
 *     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":24158
 *     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":24157
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24159
 *     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":24160
 *         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, 24160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24159
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24162
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24162, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24163
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24163, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24164
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24165
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuIpcCloseMemHandle(__pyx_v_cydptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24165, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24164
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24166
 *     with nogil:
 *         err = cydriver.cuIpcCloseMemHandle(cydptr)
 *     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, 24166, __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, 24166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24166, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24122
 *     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_7);
  __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":24168
 *     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, 24168, __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, 24168, __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, 24168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24168, __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, 24168, __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, 24168, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24168, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24168, __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, 24169, __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, 24169, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostRegister", 0);

  /* "cuda/bindings/driver.pyx":24264
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24264, __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":24265
 *     """
 *     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, 24265, __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, 24265, __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_4));

  /* "cuda/bindings/driver.pyx":24266
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24267
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostRegister(cyp_ptr, bytesize, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostRegister(__pyx_v_cyp_ptr, __pyx_v_bytesize, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24267, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":24266
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24268
 *     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, 24268, __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, 24268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24268, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24168
 *     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_6);
  __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":24270
 *     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, 24270, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 24270, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24270, __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, 24270, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24270, __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, 24270, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemHostUnregister", 0);

  /* "cuda/bindings/driver.pyx":24294
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_p};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24294, __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":24295
 *     """
 *     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, 24295, __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, 24295, __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_4));

  /* "cuda/bindings/driver.pyx":24296
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24297
 *     cdef void* cyp_ptr = <void*><void_ptr>cyp.cptr
 *     with nogil:
 *         err = cydriver.cuMemHostUnregister(cyp_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemHostUnregister(__pyx_v_cyp_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24297, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":24296
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24298
 *     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, 24298, __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, 24298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 24298, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24270
 *     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_6);
  __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":24300
 *     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, 24300, __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, 24300, __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, 24300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24300, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24300, __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, 24300, __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, 24300, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24300, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24300, __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, 24301, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24300, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpy", 0);

  /* "cuda/bindings/driver.pyx":24330
 *     """
 *     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":24331
 *     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":24330
 *     """
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24332
 *     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":24333
 *         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, 24333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24332
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24335
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24335, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24336
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24336, __pyx_L1_error)
  __pyx_v_cysrc = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24338
 *     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":24339
 *     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":24338
 *     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":24340
 *     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":24341
 *         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, 24341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24340
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24343
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24343, __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, 24343, __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_L4:;

  /* "cuda/bindings/driver.pyx":24344
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24344, __pyx_L1_error)
  __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24345
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24346
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy(__pyx_v_cydst, __pyx_v_cysrc, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24346, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24345
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24347
 *     with nogil:
 *         err = cydriver.cuMemcpy(cydst, cysrc, ByteCount)
 *     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, 24347, __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, 24347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24347, __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, 24347, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24300
 *     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_7);
  __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":24349
 *     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, 24349, __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, 24349, __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, 24349, __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, 24349, __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, 24349, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24349, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24349, __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, 24349, __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, 24349, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24349, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24349, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24349, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24349, __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, 24350, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 24349, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyPeer", 0);

  /* "cuda/bindings/driver.pyx":24382
 *     """
 *     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":24383
 *     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":24382
 *     """
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24384
 *     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":24385
 *         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, 24385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24384
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24387
 *         psrcContext = int(srcContext)
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24387, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24388
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24388, __pyx_L1_error)
  __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24390
 *     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":24391
 *     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":24390
 *     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":24392
 *     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":24393
 *         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, 24393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24392
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24395
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24395, __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, 24395, __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_L4:;

  /* "cuda/bindings/driver.pyx":24396
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24396, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24398
 *     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":24399
 *     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":24398
 *     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":24400
 *     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":24401
 *         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, 24401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24400
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":24403
 *         pdstContext = int(dstContext)
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24403, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":24404
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24404, __pyx_L1_error)
  __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24406
 *     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":24407
 *     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":24406
 *     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":24408
 *     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":24409
 *         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, 24409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24408
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":24411
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24411, __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, 24411, __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_L6:;

  /* "cuda/bindings/driver.pyx":24412
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24412, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24413
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24414
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyPeer(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24414, __pyx_L8_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24413
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/bindings/driver.pyx":24415
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24415, __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, 24415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24415, __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, 24415, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24349
 *     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_7);
  __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":24417
 *     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, 24417, __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, 24417, __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, 24417, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24417, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24417, __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, 24417, __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, 24417, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24417, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24417, __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, 24418, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24417, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoD", 0);

  /* "cuda/bindings/driver.pyx":24444
 *     """
 *     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":24445
 *     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":24444
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24446
 *     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":24447
 *         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, 24447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24446
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24449
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24449, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24450
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24450, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24451
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24451, __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":24452
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24452, __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_5));

  /* "cuda/bindings/driver.pyx":24453
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24454
 *     cdef void* cysrcHost_ptr = <void*><void_ptr>cysrcHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoD(__pyx_v_cydstDevice, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24454, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24453
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24455
 *     with nogil:
 *         err = cydriver.cuMemcpyHtoD(cydstDevice, cysrcHost_ptr, 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, 24455, __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, 24455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24455, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24417
 *     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_7);
  __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":24457
 *     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, 24457, __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, 24457, __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, 24457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24457, __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, 24457, __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, 24457, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24457, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24457, __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, 24458, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24457, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoH", 0);

  /* "cuda/bindings/driver.pyx":24484
 *     """
 *     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":24485
 *     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":24484
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24486
 *     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":24487
 *         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, 24487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24486
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24489
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24489, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24490
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24490, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24491
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24491, __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":24492
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24492, __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_5));

  /* "cuda/bindings/driver.pyx":24493
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24494
 *     cdef void* cydstHost_ptr = <void*><void_ptr>cydstHost.cptr
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoH(__pyx_v_cydstHost_ptr, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24494, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24493
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24495
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoH(cydstHost_ptr, 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, 24495, __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, 24495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24495, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24457
 *     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_7);
  __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":24497
 *     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, 24497, __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, 24497, __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, 24497, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24497, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24497, __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, 24497, __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, 24497, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24497, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24497, __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, 24498, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 24497, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoD", 0);

  /* "cuda/bindings/driver.pyx":24524
 *     """
 *     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":24525
 *     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":24524
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24526
 *     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":24527
 *         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, 24527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24526
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24529
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24529, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24530
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24530, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24532
 *     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":24533
 *     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":24532
 *     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":24534
 *     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":24535
 *         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, 24535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24534
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24537
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24537, __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, 24537, __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_L4:;

  /* "cuda/bindings/driver.pyx":24538
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24538, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24539
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24540
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoD(__pyx_v_cydstDevice, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24540, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24539
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24541
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoD(cydstDevice, cysrcDevice, ByteCount)
 *     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, 24541, __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, 24541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24541, __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, 24541, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24497
 *     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_7);
  __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":24543
 *     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, 24543, __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, 24543, __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, 24543, __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, 24543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24543, __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, 24543, __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, 24543, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24543, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24543, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24543, __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, 24544, __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, 24544, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoA", 0);

  /* "cuda/bindings/driver.pyx":24573
 *     """
 *     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":24574
 *     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":24573
 *     """
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24575
 *     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":24576
 *         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, 24576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24575
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24578
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24579
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24579, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24581
 *     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":24582
 *     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":24581
 *     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":24583
 *     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":24584
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24583
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24586
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24586, __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, 24586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24587
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24587, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24588
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24589
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoA(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24589, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24588
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24590
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoA(cydstArray, dstOffset, cysrcDevice, ByteCount)
 *     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, 24590, __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, 24590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24590, __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, 24590, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24543
 *     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_7);
  __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":24592
 *     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, 24592, __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, 24592, __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, 24592, __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, 24592, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24592, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24592, __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, 24592, __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, 24592, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24592, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24592, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24592, __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, 24593, __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, 24593, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24592, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoD", 0);

  /* "cuda/bindings/driver.pyx":24624
 *     """
 *     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":24625
 *     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":24624
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24626
 *     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":24627
 *         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, 24627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24626
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24629
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24629, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24630
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24630, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24632
 *     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":24633
 *     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":24632
 *     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":24634
 *     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":24635
 *         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, 24635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24634
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24637
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24637, __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, 24637, __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_L4:;

  /* "cuda/bindings/driver.pyx":24638
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24638, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24639
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24640
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoD(__pyx_v_cydstDevice, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24640, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24639
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24641
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoD(cydstDevice, cysrcArray, srcOffset, ByteCount)
 *     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, 24641, __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, 24641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24641, __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, 24641, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24592
 *     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_7);
  __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":24643
 *     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, 24643, __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, 24643, __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, 24643, __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, 24643, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24643, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24643, __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, 24643, __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, 24643, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24643, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24643, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24643, __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, 24644, __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, 24644, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24643, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoA", 0);

  /* "cuda/bindings/driver.pyx":24673
 *     """
 *     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":24674
 *     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":24673
 *     """
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24675
 *     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":24676
 *         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, 24676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24675
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24678
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24678, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24679
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24679, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24680
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24680, __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":24681
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24681, __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_5));

  /* "cuda/bindings/driver.pyx":24682
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24683
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoA(__pyx_v_cydstArray, __pyx_v_dstOffset, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24683, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24682
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24684
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24684, __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, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24684, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24643
 *     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_7);
  __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":24686
 *     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, 24686, __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, 24686, __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, 24686, __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, 24686, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24686, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24686, __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, 24686, __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, 24686, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24686, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24686, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24686, __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, 24687, __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, 24687, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 24686, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoH", 0);

  /* "cuda/bindings/driver.pyx":24716
 *     """
 *     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":24717
 *     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":24716
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24718
 *     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":24719
 *         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, 24719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24718
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24721
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24721, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24722
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24722, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24723
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstHost};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24723, __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":24724
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24724, __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_5));

  /* "cuda/bindings/driver.pyx":24725
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24726
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAtoH(__pyx_v_cydstHost_ptr, __pyx_v_cysrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24726, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24725
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":24727
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24727, __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, 24727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 24727, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24686
 *     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_7);
  __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":24729
 *     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, 24729, __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, 24729, __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, 24729, __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, 24729, __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, 24729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24729, __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, 24729, __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, 24729, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 24729, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 24729, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 24729, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 24729, __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, 24730, __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, 24730, __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, 24730, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 24729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoA", 0);

  /* "cuda/bindings/driver.pyx":24764
 *     """
 *     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":24765
 *     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":24764
 *     """
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24766
 *     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":24767
 *         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, 24767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":24766
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":24769
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24769, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":24770
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24770, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24772
 *     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":24773
 *     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":24772
 *     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":24774
 *     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":24775
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":24774
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":24777
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24777, __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, 24777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":24778
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24778, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":24779
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24780
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     with nogil:
 *         err = cydriver.cuMemcpyAtoA(cydstArray, dstOffset, cysrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24780, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":24779
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":24781
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24781, __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, 24781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 24781, __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, 24781, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24729
 *     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_7);
  __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":24783
 *     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, 24783, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 24783, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24783, __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, 24783, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24783, __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, 24783, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 24784, __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":24902
 *     :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":24903
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":24904
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 24904, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":24903
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":24905
 *     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, 24905, __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, 24905, __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, 24905, __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, 24905, __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, 24905, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24783
 *     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":24907
 *     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, 24907, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 24907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 24907, __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, 24907, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 24907, __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, 24907, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 24908, __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":25026
 *     :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":25027
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25028
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25028, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":25027
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":25029
 *     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, 25029, __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, 25029, __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, 25029, __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, 25029, __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, 25029, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":24907
 *     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":25031
 *     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, 25031, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 25031, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25031, __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, 25031, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25031, __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, 25031, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 25032, __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":25153
 *     :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":25154
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25155
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25155, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":25154
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":25156
 *     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, 25156, __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, 25156, __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, 25156, __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, 25156, __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, 25156, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25031
 *     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":25158
 *     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, 25158, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 25158, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25158, __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, 25158, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25158, __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, 25158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 25159, __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":25180
 *     :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":25181
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25182
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25182, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":25181
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":25183
 *     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, 25183, __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, 25183, __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, 25183, __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, 25183, __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, 25183, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25158
 *     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":25185
 *     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, 25185, __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, 25185, __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, 25185, __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, 25185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25185, __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, 25185, __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, 25185, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25185, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25185, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25185, __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, 25186, __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, 25185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAsync", 0);

  /* "cuda/bindings/driver.pyx":25217
 *     """
 *     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":25218
 *     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":25217
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25219
 *     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":25220
 *         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, 25220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25219
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25222
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25222, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25223
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrc
 *     if src is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25223, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25225
 *     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":25226
 *     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":25225
 *     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":25227
 *     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":25228
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUdeviceptr(src))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25227
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25230
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc
 *     cdef cydriver.CUdeviceptr cydst
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_src};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25230, __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, 25230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25231
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *     cysrc = <cydriver.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydst
 *     if dst is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25231, __pyx_L1_error)
  __pyx_v_cysrc = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25233
 *     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":25234
 *     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":25233
 *     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":25235
 *     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":25236
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUdeviceptr(dst))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25235
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":25238
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dst};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25238, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":25239
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25239, __pyx_L1_error)
  __pyx_v_cydst = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25240
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25241
 *     cydst = <cydriver.CUdeviceptr><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyAsync(__pyx_v_cydst, __pyx_v_cysrc, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25241, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25240
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":25242
 *     with nogil:
 *         err = cydriver.cuMemcpyAsync(cydst, cysrc, 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, 25242, __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, 25242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 25242, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25185
 *     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_7);
  __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":25244
 *     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, 25244, __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, 25244, __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, 25244, __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, 25244, __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, 25244, __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, 25244, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25244, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25244, __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, 25244, __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, 25244, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25244, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25244, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25244, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25244, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 25244, __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, 25245, __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, 25244, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyPeerAsync", 0);

  /* "cuda/bindings/driver.pyx":25279
 *     """
 *     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":25280
 *     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":25279
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25281
 *     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":25282
 *         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, 25282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25281
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25284
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUcontext cysrcContext
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25284, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25285
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cysrcContext
 *     if srcContext is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25285, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25287
 *     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":25288
 *     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":25287
 *     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":25289
 *     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":25290
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25289
 *     if srcContext is None:
 *         psrcContext = 0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25292
 *         psrcContext = int(srcContext)
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcContext};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25292, __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, 25292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrcContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25293
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *     cysrcContext = <cydriver.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25293, __pyx_L1_error)
  __pyx_v_cysrcContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25295
 *     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":25296
 *     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":25295
 *     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":25297
 *     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":25298
 *         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, 25298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25297
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":25300
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUcontext cydstContext
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25300, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":25301
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUcontext cydstContext
 *     if dstContext is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25301, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25303
 *     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":25304
 *     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":25303
 *     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":25305
 *     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":25306
 *         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, 25306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25305
 *     if dstContext is None:
 *         pdstContext = 0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":25308
 *         pdstContext = int(dstContext)
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstContext};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25308, __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, 25308, __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_L6:;

  /* "cuda/bindings/driver.pyx":25309
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *     cydstContext = <cydriver.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25309, __pyx_L1_error)
  __pyx_v_cydstContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25311
 *     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":25312
 *     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":25311
 *     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":25313
 *     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":25314
 *         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, 25314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25313
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":25316
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25316, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":25317
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25317, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25318
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25319
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyPeerAsync(cydstDevice, cydstContext, cysrcDevice, cysrcContext, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25319, __pyx_L9_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25318
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":25320
 *     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, 25320, __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, 25320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 25320, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25244
 *     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_7);
  __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":25322
 *     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, 25322, __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, 25322, __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, 25322, __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, 25322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25322, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25322, __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, 25322, __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, 25322, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25322, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25322, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25322, __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, 25323, __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, 25322, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoDAsync", 0);

  /* "cuda/bindings/driver.pyx":25351
 *     """
 *     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":25352
 *     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":25351
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25353
 *     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":25354
 *         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, 25354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25353
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25356
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25356, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25357
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25357, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25359
 *     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":25360
 *     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":25359
 *     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":25361
 *     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":25362
 *         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, 25362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25361
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25364
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25364, __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, 25364, __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_L4:;

  /* "cuda/bindings/driver.pyx":25365
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25365, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25366
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcHost};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25366, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25367
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25368
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25369
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyHtoDAsync(__pyx_v_cydstDevice, __pyx_v_cysrcHost_ptr, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25369, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25368
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25370
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25370, __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, 25370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25370, __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, 25370, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25322
 *     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_7);
  __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":25372
 *     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, 25372, __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, 25372, __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, 25372, __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, 25372, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25372, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25372, __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, 25372, __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, 25372, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25372, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25372, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25372, __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, 25373, __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, 25372, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoHAsync", 0);

  /* "cuda/bindings/driver.pyx":25401
 *     """
 *     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":25402
 *     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":25401
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25403
 *     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":25404
 *         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, 25404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25403
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25406
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25406, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25407
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25407, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25409
 *     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":25410
 *     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":25409
 *     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":25411
 *     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":25412
 *         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, 25412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25411
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25414
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25414, __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, 25414, __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_L4:;

  /* "cuda/bindings/driver.pyx":25415
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25415, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25416
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstHost};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25416, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25417
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25418
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25419
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoHAsync(__pyx_v_cydstHost_ptr, __pyx_v_cysrcDevice, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25419, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25418
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25420
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25420, __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, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25420, __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, 25420, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25372
 *     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_7);
  __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":25422
 *     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, 25422, __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, 25422, __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, 25422, __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, 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, "cuMemcpyDtoDAsync", 0) < (0)) __PYX_ERR(0, 25422, __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, 25422, __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, 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)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25422, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25422, __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, 25423, __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, 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.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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyDtoDAsync", 0);

  /* "cuda/bindings/driver.pyx":25451
 *     """
 *     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":25452
 *     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":25451
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25453
 *     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":25454
 *         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, 25454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25453
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25456
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25456, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25457
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25457, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25459
 *     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":25460
 *     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":25459
 *     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":25461
 *     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":25462
 *         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, 25462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25461
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25464
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25464, __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, 25464, __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_L4:;

  /* "cuda/bindings/driver.pyx":25465
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *     cysrcDevice = <cydriver.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25465, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25467
 *     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":25468
 *     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":25467
 *     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":25469
 *     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":25470
 *         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, 25470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25469
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":25472
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25472, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":25473
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25473, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25474
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25475
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, cysrcDevice, ByteCount, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpyDtoDAsync(__pyx_v_cydstDevice, __pyx_v_cysrcDevice, __pyx_v_ByteCount, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25475, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25474
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":25476
 *     with nogil:
 *         err = cydriver.cuMemcpyDtoDAsync(cydstDevice, 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, 25476, __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, 25476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 25476, __pyx_L1_error);
  __pyx_t_7 = 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 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_7);
  __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":25478
 *     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, 25478, __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, 25478, __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, 25478, __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, 25478, __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, 25478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25478, __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, 25478, __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, 25478, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25478, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25478, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25478, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25478, __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, 25479, __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, 25479, __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, 25478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyHtoAAsync", 0);

  /* "cuda/bindings/driver.pyx":25510
 *     """
 *     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":25511
 *     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":25510
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25512
 *     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":25513
 *         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, 25513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25512
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25515
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cydstArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25515, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25516
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cydstArray
 *     if dstArray is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25516, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25518
 *     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":25519
 *     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":25518
 *     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":25520
 *     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":25521
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25520
 *     if dstArray is None:
 *         pdstArray = 0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25523
 *         pdstArray = int(dstArray)
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *     cydstArray = <cydriver.CUarray><void_ptr>pdstArray
 *     cysrcHost = _HelperInputVoidPtr(srcHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstArray};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25523, __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, 25523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25524
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25524, __pyx_L1_error)
  __pyx_v_cydstArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25525
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_srcHost};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25525, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cysrcHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25526
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cysrcHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cysrcHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25527
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25528
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25528, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25527
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25529
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25529, __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, 25529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25529, __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, 25529, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25478
 *     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_7);
  __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":25531
 *     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, 25531, __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, 25531, __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, 25531, __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, 25531, __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, 25531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25531, __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, 25531, __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, 25531, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25531, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25531, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25531, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25531, __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, 25532, __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, 25532, __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, 25531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemcpyAtoHAsync", 0);

  /* "cuda/bindings/driver.pyx":25563
 *     """
 *     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":25564
 *     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":25563
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25565
 *     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":25566
 *         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, 25566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25565
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25568
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUarray cysrcArray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25568, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25569
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cysrcArray
 *     if srcArray is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25569, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25571
 *     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":25572
 *     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":25571
 *     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":25573
 *     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":25574
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":25573
 *     if srcArray is None:
 *         psrcArray = 0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":25576
 *         psrcArray = int(srcArray)
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *     cysrcArray = <cydriver.CUarray><void_ptr>psrcArray
 *     cydstHost = _HelperInputVoidPtr(dstHost)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcArray};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25576, __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, 25576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrcArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":25577
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25577, __pyx_L1_error)
  __pyx_v_cysrcArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25578
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstHost};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25578, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cydstHost = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":25579
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydstHost), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cydstHost_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25580
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25581
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25581, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":25580
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":25582
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25582, __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, 25582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 25582, __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, 25582, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25531
 *     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_7);
  __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":25584
 *     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, 25584, __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, 25584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25584, __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, 25584, __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, 25584, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25584, __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, 25584, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 25585, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMCPY2D_st *__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("cuMemcpy2DAsync", 0);

  /* "cuda/bindings/driver.pyx":25713
 *     """
 *     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":25714
 *     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":25713
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25715
 *     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":25716
 *         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, 25716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25715
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25718
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25718, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25719
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25719, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25720
 *         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_6 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":25721
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25722
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy2DAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25722, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25721
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25723
 *     with nogil:
 *         err = cydriver.cuMemcpy2DAsync(cypCopy_ptr, 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, 25723, __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, 25723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 25723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 25723, __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, 25723, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25584
 *     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_8);
  __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":25725
 *     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, 25725, __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, 25725, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25725, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25725, __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, 25725, __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, 25725, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25725, __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, 25725, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 25726, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMCPY3D_st *__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("cuMemcpy3DAsync", 0);

  /* "cuda/bindings/driver.pyx":25850
 *     """
 *     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":25851
 *     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":25850
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25852
 *     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":25853
 *         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, 25853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25852
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25855
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25855, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25856
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25856, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25857
 *         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_6 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":25858
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25859
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25859, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25858
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25860
 *     with nogil:
 *         err = cydriver.cuMemcpy3DAsync(cypCopy_ptr, 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, 25860, __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, 25860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 25860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 25860, __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, 25860, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25725
 *     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_8);
  __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":25862
 *     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, 25862, __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, 25862, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25862, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25862, __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, 25862, __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, 25862, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25862, __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, 25862, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 25863, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMCPY3D_PEER_st *__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("cuMemcpy3DPeerAsync", 0);

  /* "cuda/bindings/driver.pyx":25887
 *     """
 *     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":25888
 *     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":25887
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25889
 *     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":25890
 *         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, 25890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":25889
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":25892
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25892, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":25893
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 25893, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":25894
 *         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_6 = __pyx_v_pCopy->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cypCopy_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":25895
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":25896
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DPeerAsync(__pyx_v_cypCopy_ptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 25896, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":25895
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":25897
 *     with nogil:
 *         err = cydriver.cuMemcpy3DPeerAsync(cypCopy_ptr, 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, 25897, __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, 25897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 25897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 25897, __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, 25897, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25862
 *     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_8);
  __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":25899
 *     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\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`");
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, 25899, __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, 25899, __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, 25899, __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, 25899, __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, 25899, __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, 25899, __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, 25899, __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, 25899, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 25899, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 25899, __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, 25899, __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, 25899, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 25899, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 25899, __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, 25900, __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, 25900, __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, 25899, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator129(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26009
 *         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_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, 26009, __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_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_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26009, __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_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, 26009, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26009, __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, 26009, __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, 26009, __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, 26009, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26009, __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, 26009, __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, 26009, __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_5generator130(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26012
 *         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_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, 26012, __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_5generator130, ((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_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26012, __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_5generator130(__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, 26012, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26012, __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, 26012, __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, 26012, __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, 26012, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26012, __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, 26012, __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, 26012, __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_8generator131(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26014
 *     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_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, 26014, __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_8generator131, ((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_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26014, __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_8generator131(__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, 26014, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26014, __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, 26014, __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, 26014, __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, 26014, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26014, __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, 26014, __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, 26014, __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_11generator132(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26017
 *         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_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, 26017, __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_11generator132, ((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_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26017, __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_11generator132(__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, 26017, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26017, __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, 26017, __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, 26017, __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, 26017, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26017, __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, 26017, __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, 26017, __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_14generator133(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26020
 *         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_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, 26020, __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_14generator133, ((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_cuMemcpyBatchAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26020, __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_14generator133(__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, 26020, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26020, __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, 26020, __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, 26020, __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, 26020, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26020, __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, 26020, __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, 26020, __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":25899
 *     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;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_2generator129 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator130 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator131 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator132 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator133 = 0;
  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;
  int __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;
  std::vector<size_t>  __pyx_t_13;
  struct CUmemcpyAttributes_st *__pyx_t_14;
  CUresult __pyx_t_15;
  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":26002
 *     """
 *     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":26003
 *     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":26002
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26004
 *     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":26005
 *         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, 26005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26004
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26007
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26007, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26008
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26008, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26009
 *         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_3 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_genexpr(NULL, __pyx_v_attrsIdxs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 26009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":26010
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_attrsIdxs_is_not_instan};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26010, __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, 26010, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26009
 *         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":26011
 *     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_6 = (__pyx_v_attrs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26011, __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":26012
 *         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, 26012, __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, 26012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 26012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":26013
 *     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_t_4 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26013, __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, 26013, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26012
 *         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":26014
 *     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, 26014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 26014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":26015
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_sizes_is_not_instance_o};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26015, __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, 26015, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26014
 *     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":26016
 *     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_6 = (__pyx_v_srcs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_srcs);
    __pyx_t_2 = __pyx_v_srcs;
  }
  __Pyx_DECREF_SET(__pyx_v_srcs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":26017
 *         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_2 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_9genexpr(NULL, __pyx_v_srcs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26017, __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, 26017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 26017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":26018
 *     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_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_srcs_is_not_instance_of};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26018, __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, 26018, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26017
 *         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":26019
 *     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_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dsts);
    __pyx_t_3 = __pyx_v_dsts;
  }
  __Pyx_DECREF_SET(__pyx_v_dsts, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26020
 *         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_3 = __pyx_pf_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_12genexpr(NULL, __pyx_v_dsts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 26020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":26021
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dsts_is_not_instance_of};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26021, __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, 26021, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26020
 *         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":26022
 *     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":26023
 *         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_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26023, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26024
 *     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_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26024, __pyx_L1_error)
    __pyx_v_cydsts = ((CUdeviceptr *)calloc(__pyx_t_7, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":26025
 *     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_6 = (__pyx_v_cydsts == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":26026
 *         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_3 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26026, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26026, __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, 26026, __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, 26026, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 26026, __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(CUdeviceptr))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26026, __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, 26026, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26026, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26026, __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, 26026, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":26025
 *     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":26028
 *             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_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26028, __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":26029
 *         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_2 = __Pyx_GetItemInt(__pyx_v_dsts, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26029, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        (__pyx_v_cydsts[__pyx_v_idx]) = ((CUdeviceptr)(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":26023
 *         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":26030
 *             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_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26030, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26031
 *                 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_2 = __Pyx_GetItemInt(__pyx_v_dsts, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_cydsts = ((CUdeviceptr *)((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26030
 *             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":26032
 *     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":26033
 *         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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26033, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26034
 *     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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26034, __pyx_L1_error)
    __pyx_v_cysrcs = ((CUdeviceptr *)calloc(__pyx_t_7, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":26035
 *     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_6 = (__pyx_v_cysrcs == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":26036
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26036, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26036, __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, 26036, __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, 26036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 26036, __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(CUdeviceptr))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26036, __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, 26036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26036, __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, 26036, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":26035
 *     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":26038
 *             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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26038, __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":26039
 *         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_2 = __Pyx_GetItemInt(__pyx_v_srcs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26039, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        (__pyx_v_cysrcs[__pyx_v_idx]) = ((CUdeviceptr)(((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":26033
 *         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":26040
 *             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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26040, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26041
 *                 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_2 = __Pyx_GetItemInt(__pyx_v_srcs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_cysrcs = ((CUdeviceptr *)((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26040
 *             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":26042
 *     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_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_sizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 26042, __pyx_L1_error)
  __pyx_v_cysizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":26043
 *         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_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26043, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26043, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26043, __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, 26043, __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, 26043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 26043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26043, __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, 26043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26043, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26043, __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, 26043, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26044
 *     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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26044, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26044, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26044, __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, 26044, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 26044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 26044, __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, 26044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26044, __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, 26044, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26045
 *     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_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26045, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26045, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26045, __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, 26045, __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, 26045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 26045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26045, __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, 26045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26045, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26045, __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, 26045, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26046
 *     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":26047
 *     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_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26047, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26048
 *     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_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26048, __pyx_L1_error)
    __pyx_v_cyattrs = ((CUmemcpyAttributes *)calloc(__pyx_t_7, (sizeof(CUmemcpyAttributes))));

    /* "cuda/bindings/driver.pyx":26049
 *     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_6 = (__pyx_v_cyattrs == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":26050
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26050, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26050, __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, 26050, __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, 26050, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 26050, __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(CUmemcpyAttributes))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26050, __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, 26050, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26050, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26050, __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, 26050, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":26049
 *     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":26051
 *         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_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26051, __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":26052
 *             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_2 = __Pyx_GetItemInt(__pyx_v_attrs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cyattrs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemcpyAttributes))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/bindings/driver.pyx":26047
 *     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":26053
 *         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_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26053, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26054
 *             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_2 = __Pyx_GetItemInt(__pyx_v_attrs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemcpyAttributes *)__pyx_t_2)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_cyattrs = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":26053
 *         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":26055
 *     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_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_attrsIdxs); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 26055, __pyx_L1_error)
  __pyx_v_cyattrsIdxs = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":26056
 *         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))
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26056, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numAttrs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26056, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26056, __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, 26056, __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, 26056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 26056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttrs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26056, __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, 26056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26056, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26056, __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, 26056, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26057
 *     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))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, cyhStream)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_attrsIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26057, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numAttrs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_attrsIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26057, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26057, __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, 26057, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 26057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttrs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26057, __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, 26057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26057, __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, 26057, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26058
 *     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))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26059
 *     if numAttrs > <size_t>len(attrsIdxs): raise RuntimeError("List is too small: " + str(len(attrsIdxs)) + " < " + str(numAttrs))
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(dsts) > 1 and cydsts is not NULL:
 *         free(cydsts)
*/
        __pyx_t_15 = __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_cyhStream); if (unlikely(__pyx_t_15 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26059, __pyx_L27_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":26058
 *     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))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L28;
        }
        __pyx_L27_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L28:;
      }
  }

  /* "cuda/bindings/driver.pyx":26060
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, cyhStream)
 *     if len(dsts) > 1 and cydsts is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydsts)
 *     if len(srcs) > 1 and cysrcs is not NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dsts); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26060, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L30_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydsts != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L30_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26061
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, 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":26060
 *     with nogil:
 *         err = cydriver.cuMemcpyBatchAsync(cydsts, cysrcs, cysizes.data(), count, cyattrs, cyattrsIdxs.data(), numAttrs, 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":26062
 *     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_7 = PyObject_Length(__pyx_v_srcs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26062, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L33_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cysrcs != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L33_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26063
 *         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":26062
 *     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":26064
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyattrs)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_attrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26064, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L36_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cyattrs != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L36_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26065
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyattrs);

    /* "cuda/bindings/driver.pyx":26064
 *     if len(srcs) > 1 and cysrcs is not NULL:
 *         free(cysrcs)
 *     if len(attrs) > 1 and cyattrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyattrs)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":26066
 *     if len(attrs) > 1 and cyattrs is not NULL:
 *         free(cyattrs)
 *     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, 26066, __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, 26066, __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, 26066, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26066, __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, 26066, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":25899
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator129);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_5generator130);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_8generator131);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_11generator132);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_18cuMemcpyBatchAsync_14generator133);
  __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":26068
 *     return (_dict_CUresult[err],)
 * 
 * @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\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`");
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, 26068, __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, 26068, __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, 26068, __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, 26068, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26068, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26068, __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, 26068, __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, 26068, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26068, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26068, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26068, __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, 26069, __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, 26069, __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, 26068, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator134(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":26178
 *     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_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, 26178, __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_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_cuMemcpy3DBatchAsync_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 26178, __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_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, 26178, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 26178, __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, 26178, __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, 26178, __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, 26178, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 26178, __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, 26178, __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, 26178, __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":26068
 *     return (_dict_CUresult[err],)
 * 
 * @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;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_2generator134 = 0;
  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;
  int __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_MEMCPY3D_BATCH_OP_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":26170
 *     """
 *     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":26171
 *     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":26170
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26172
 *     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":26173
 *         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, 26173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26172
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26175
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26175, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26176
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26176, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26177
 *         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, 26177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_opList);
    __pyx_t_3 = __pyx_v_opList;
  }
  __Pyx_DECREF_SET(__pyx_v_opList, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26178
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_20cuMemcpy3DBatchAsync_genexpr(NULL, __pyx_v_opList); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 26178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":26179
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_opList_is_not_instance};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26179, __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, 26179, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":26178
 *     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":26180
 *     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_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26180, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numOps > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26180, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26180, __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, 26180, __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, 26180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 26180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numOps); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26180, __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, 26180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 26180, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26180, __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, 26180, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":26181
 *         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":26182
 *     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_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26182, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26183
 *     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_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26183, __pyx_L1_error)
    __pyx_v_cyopList = ((CUDA_MEMCPY3D_BATCH_OP *)calloc(__pyx_t_7, (sizeof(CUDA_MEMCPY3D_BATCH_OP))));

    /* "cuda/bindings/driver.pyx":26184
 *     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_6 = (__pyx_v_cyopList == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":26185
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26185, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26185, __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, 26185, __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, 26185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 26185, __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(CUDA_MEMCPY3D_BATCH_OP))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26185, __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, 26185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26185, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26185, __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, 26185, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":26184
 *     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":26186
 *         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_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26186, __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":26187
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26187, __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":26182
 *     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":26188
 *         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
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26188, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26189
 *             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             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_opList, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":26188
 *         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
 *     with nogil:
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":26190
 *     elif len(opList) == 1:
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26191
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuMemcpy3DBatchAsync(__pyx_v_numOps, __pyx_v_cyopList, __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26191, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":26190
 *     elif len(opList) == 1:
 *         cyopList = (<CUDA_MEMCPY3D_BATCH_OP>opList[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":26192
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyopList)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_opList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 26192, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cyopList != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":26193
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyopList);

    /* "cuda/bindings/driver.pyx":26192
 *     with nogil:
 *         err = cydriver.cuMemcpy3DBatchAsync(numOps, cyopList, flags, cyhStream)
 *     if len(opList) > 1 and cyopList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyopList)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":26194
 *     if len(opList) > 1 and cyopList is not NULL:
 *         free(cyopList)
 *     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, 26194, __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, 26194, __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, 26194, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26194, __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, 26194, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26068
 *     return (_dict_CUresult[err],)
 * 
 * @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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator134);
  __Pyx_XDECREF(__pyx_v_opList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":26196
 *     return (_dict_CUresult[err],)
 * 
 * @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, 26196, __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, 26196, __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, 26196, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26196, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26196, __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, 26196, __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, 26196, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26196, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26196, __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, 26197, __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, 26197, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 26196, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD8", 0);

  /* "cuda/bindings/driver.pyx":26221
 *     """
 *     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":26222
 *     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":26221
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26223
 *     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":26224
 *         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, 26224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26223
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26226
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26226, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26227
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26227, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26228
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26229
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8(__pyx_v_cydstDevice, __pyx_v_uc, __pyx_v_N); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26229, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26228
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26230
 *     with nogil:
 *         err = cydriver.cuMemsetD8(cydstDevice, uc, N)
 *     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, 26230, __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, 26230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26230, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26196
 *     return (_dict_CUresult[err],)
 * 
 * @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_7);
  __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":26232
 *     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, 26232, __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, 26232, __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, 26232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26232, __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, 26232, __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, 26232, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26232, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26232, __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, 26233, __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, 26233, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 26232, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD16", 0);

  /* "cuda/bindings/driver.pyx":26258
 *     """
 *     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":26259
 *     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":26258
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26260
 *     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":26261
 *         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, 26261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26260
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26263
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26263, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26264
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26264, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26265
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26266
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16(__pyx_v_cydstDevice, __pyx_v_us, __pyx_v_N); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26266, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26265
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26267
 *     with nogil:
 *         err = cydriver.cuMemsetD16(cydstDevice, us, N)
 *     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, 26267, __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, 26267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26267, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26232
 *     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_7);
  __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":26269
 *     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, 26269, __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, 26269, __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, 26269, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26269, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26269, __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, 26269, __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, 26269, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26269, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26269, __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, 26270, __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, 26270, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 26269, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD32", 0);

  /* "cuda/bindings/driver.pyx":26295
 *     """
 *     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":26296
 *     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":26295
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26297
 *     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":26298
 *         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, 26298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26297
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26300
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26300, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26301
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26301, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26302
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26303
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32(__pyx_v_cydstDevice, __pyx_v_ui, __pyx_v_N); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26303, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26302
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26304
 *     with nogil:
 *         err = cydriver.cuMemsetD32(cydstDevice, ui, N)
 *     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, 26304, __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, 26304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26304, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26269
 *     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_7);
  __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":26306
 *     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, 26306, __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, 26306, __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, 26306, __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, 26306, __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, 26306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26306, __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, 26306, __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, 26306, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26306, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26306, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26306, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26306, __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, 26307, __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, 26307, __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, 26307, __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, 26307, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26306, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D8", 0);

  /* "cuda/bindings/driver.pyx":26339
 *     """
 *     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":26340
 *     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":26339
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26341
 *     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":26342
 *         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, 26342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26341
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26344
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26344, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26345
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26345, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26346
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26347
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8(cydstDevice, dstPitch, uc, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26347, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26346
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26348
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26348, __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, 26348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26348, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26306
 *     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_7);
  __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":26350
 *     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, 26350, __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, 26350, __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, 26350, __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, 26350, __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, 26350, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26350, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26350, __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, 26350, __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, 26350, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26350, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26350, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26350, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26350, __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, 26351, __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, 26351, __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, 26351, __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, 26351, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26350, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D16", 0);

  /* "cuda/bindings/driver.pyx":26384
 *     """
 *     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":26385
 *     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":26384
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26386
 *     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":26387
 *         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, 26387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26386
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26389
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26389, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26390
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26390, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26391
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26392
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16(cydstDevice, dstPitch, us, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26392, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26391
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26393
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26393, __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, 26393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26393, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26350
 *     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_7);
  __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":26395
 *     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, 26395, __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, 26395, __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, 26395, __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, 26395, __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, 26395, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26395, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26395, __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, 26395, __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, 26395, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26395, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26395, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26395, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26395, __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, 26396, __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, 26396, __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, 26396, __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, 26396, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 26395, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D32", 0);

  /* "cuda/bindings/driver.pyx":26429
 *     """
 *     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":26430
 *     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":26429
 *     """
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26431
 *     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":26432
 *         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, 26432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26431
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26434
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26434, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26435
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26435, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26436
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26437
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32(cydstDevice, dstPitch, ui, Width, Height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26437, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26436
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26438
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26438, __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, 26438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26438, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26395
 *     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_7);
  __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":26440
 *     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, 26440, __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, 26440, __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, 26440, __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, 26440, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26440, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26440, __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, 26440, __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, 26440, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26440, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26440, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26440, __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, 26441, __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, 26441, __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, 26440, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD8Async", 0);

  /* "cuda/bindings/driver.pyx":26467
 *     """
 *     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":26468
 *     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":26467
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26469
 *     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":26470
 *         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, 26470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26469
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26472
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26472, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26473
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26473, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26475
 *     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":26476
 *     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":26475
 *     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":26477
 *     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":26478
 *         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, 26478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26477
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26480
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26480, __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, 26480, __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_L4:;

  /* "cuda/bindings/driver.pyx":26481
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26481, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26482
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26483
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD8Async(__pyx_v_cydstDevice, __pyx_v_uc, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26483, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26482
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26484
 *     with nogil:
 *         err = cydriver.cuMemsetD8Async(cydstDevice, uc, N, 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, 26484, __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, 26484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26484, __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, 26484, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26440
 *     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_7);
  __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":26486
 *     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, 26486, __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, 26486, __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, 26486, __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, 26486, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26486, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26486, __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, 26486, __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, 26486, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26486, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26486, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26486, __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, 26487, __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, 26487, __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, 26486, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD16Async", 0);

  /* "cuda/bindings/driver.pyx":26514
 *     """
 *     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":26515
 *     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":26514
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26516
 *     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":26517
 *         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, 26517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26516
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26519
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26519, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26520
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26520, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26522
 *     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":26523
 *     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":26522
 *     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":26524
 *     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":26525
 *         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, 26525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26524
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26527
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26527, __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, 26527, __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_L4:;

  /* "cuda/bindings/driver.pyx":26528
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26528, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26529
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26530
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD16Async(__pyx_v_cydstDevice, __pyx_v_us, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26530, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26529
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26531
 *     with nogil:
 *         err = cydriver.cuMemsetD16Async(cydstDevice, us, N, 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, 26531, __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, 26531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26531, __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, 26531, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26486
 *     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_7);
  __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":26533
 *     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, 26533, __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, 26533, __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, 26533, __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, 26533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26533, __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, 26533, __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, 26533, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26533, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26533, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26533, __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, 26534, __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, 26534, __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, 26533, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD32Async", 0);

  /* "cuda/bindings/driver.pyx":26561
 *     """
 *     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":26562
 *     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":26561
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26563
 *     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":26564
 *         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, 26564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26563
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26566
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26566, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26567
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26567, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26569
 *     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":26570
 *     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":26569
 *     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":26571
 *     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":26572
 *         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, 26572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26571
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26574
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26574, __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, 26574, __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_L4:;

  /* "cuda/bindings/driver.pyx":26575
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26575, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26576
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26577
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemsetD32Async(__pyx_v_cydstDevice, __pyx_v_ui, __pyx_v_N, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26577, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26576
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26578
 *     with nogil:
 *         err = cydriver.cuMemsetD32Async(cydstDevice, ui, N, 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, 26578, __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, 26578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26578, __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, 26578, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26533
 *     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_7);
  __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":26580
 *     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, 26580, __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, 26580, __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, 26580, __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, 26580, __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, 26580, __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, 26580, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26580, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26580, __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, 26580, __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, 26580, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26580, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26580, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26580, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26580, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26580, __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, 26581, __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, 26581, __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, 26581, __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, 26581, __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, 26580, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D8Async", 0);

  /* "cuda/bindings/driver.pyx":26615
 *     """
 *     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":26616
 *     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":26615
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26617
 *     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":26618
 *         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, 26618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26617
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26620
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26620, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26621
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26621, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26623
 *     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":26624
 *     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":26623
 *     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":26625
 *     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":26626
 *         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, 26626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26625
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26628
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26628, __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, 26628, __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_L4:;

  /* "cuda/bindings/driver.pyx":26629
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26629, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26630
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26631
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D8Async(cydstDevice, dstPitch, uc, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26631, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26630
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26632
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26632, __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, 26632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26632, __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, 26632, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26580
 *     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_7);
  __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":26634
 *     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, 26634, __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, 26634, __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, 26634, __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, 26634, __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, 26634, __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, 26634, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26634, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26634, __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, 26634, __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, 26634, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26634, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26634, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26634, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26634, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26634, __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, 26635, __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, 26635, __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, 26635, __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, 26635, __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, 26634, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D16Async", 0);

  /* "cuda/bindings/driver.pyx":26670
 *     """
 *     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":26671
 *     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":26670
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26672
 *     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":26673
 *         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, 26673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26672
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26675
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26675, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26676
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26676, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26678
 *     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":26679
 *     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":26678
 *     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":26680
 *     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":26681
 *         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, 26681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26680
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26683
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26683, __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, 26683, __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_L4:;

  /* "cuda/bindings/driver.pyx":26684
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26684, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26685
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26686
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D16Async(cydstDevice, dstPitch, us, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26686, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26685
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26687
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26687, __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, 26687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26687, __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, 26687, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26634
 *     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_7);
  __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":26689
 *     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, 26689, __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, 26689, __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, 26689, __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, 26689, __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, 26689, __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, 26689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26689, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26689, __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, 26689, __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, 26689, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26689, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 26689, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 26689, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 26689, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 26689, __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, 26690, __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, 26690, __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, 26690, __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, 26690, __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, 26689, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemsetD2D32Async", 0);

  /* "cuda/bindings/driver.pyx":26725
 *     """
 *     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":26726
 *     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":26725
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26727
 *     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":26728
 *         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, 26728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26727
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26730
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydstDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26730, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26731
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydstDevice
 *     if dstDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26731, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26733
 *     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":26734
 *     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":26733
 *     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":26735
 *     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":26736
 *         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, 26736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":26735
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":26738
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dstDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26738, __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, 26738, __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_L4:;

  /* "cuda/bindings/driver.pyx":26739
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26739, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26740
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26741
 *     cydstDevice = <cydriver.CUdeviceptr><void_ptr>pdstDevice
 *     with nogil:
 *         err = cydriver.cuMemsetD2D32Async(cydstDevice, dstPitch, ui, Width, Height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26741, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26740
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":26742
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26742, __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, 26742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 26742, __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, 26742, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26689
 *     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_7);
  __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":26744
 *     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, 26744, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 26744, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26744, __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, 26744, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26744, __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, 26744, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 26745, __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;
  size_t __pyx_t_3;
  struct CUDA_ARRAY_DESCRIPTOR_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayCreate", 0);

  /* "cuda/bindings/driver.pyx":26804
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26804, __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":26805
 *     """
 *     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_5 = (((PyObject *)__pyx_v_pAllocateArray) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypAllocateArray_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":26806
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26807
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayCreate(((CUarray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypAllocateArray_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26807, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26806
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":26808
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":26809
 *         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, 26809, __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, 26809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 26809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26809, __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, 26809, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26808
 *     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":26810
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26810, __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, 26810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26810, __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, 26810, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 26810, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26744
 *     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_7);
  __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":26812
 *     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, 26812, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 26812, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26812, __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, 26812, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26812, __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, 26812, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetDescriptor", 0);

  /* "cuda/bindings/driver.pyx":26838
 *     """
 *     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":26839
 *     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":26838
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26840
 *     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":26841
 *         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, 26841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26840
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26843
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26843, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26844
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26844, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26845
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26845, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26846
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26847
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26847, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26846
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26848
 *     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":26849
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26849, __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, 26849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 26849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26849, __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, 26849, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26848
 *     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":26850
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26850, __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, 26850, __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, 26850, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26850, __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, 26850, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pArrayDescriptor)) != (0)) __PYX_ERR(0, 26850, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26812
 *     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_7);
  __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":26852
 *     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, 26852, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 26852, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26852, __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, 26852, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26852, __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, 26852, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetSparseProperties", 0);

  /* "cuda/bindings/driver.pyx":26891
 *     """
 *     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":26892
 *     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":26891
 *     """
 *     cdef cydriver.CUarray cyarray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26893
 *     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":26894
 *         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, 26894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26893
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26896
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_array};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26896, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26897
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26897, __pyx_L1_error)
  __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26898
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26898, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26899
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26900
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26900, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26899
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26901
 *     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":26902
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26902, __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, 26902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 26902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26902, __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, 26902, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26901
 *     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":26903
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26903, __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, 26903, __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, 26903, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26903, __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, 26903, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_sparseProperties)) != (0)) __PYX_ERR(0, 26903, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26852
 *     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_7);
  __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":26905
 *     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, 26905, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 26905, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26905, __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, 26905, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26905, __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, 26905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetSparseProperties", 0);

  /* "cuda/bindings/driver.pyx":26946
 *     """
 *     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":26947
 *     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":26946
 *     """
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26948
 *     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":26949
 *         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, 26949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26948
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26951
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mipmap};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26951, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26952
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 26952, __pyx_L1_error)
  __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":26953
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26953, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":26954
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":26955
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 26955, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":26954
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":26956
 *     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":26957
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26957, __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, 26957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 26957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 26957, __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, 26957, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":26956
 *     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":26958
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26958, __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, 26958, __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, 26958, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 26958, __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, 26958, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_sparseProperties)) != (0)) __PYX_ERR(0, 26958, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26905
 *     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_7);
  __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":26960
 *     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_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, 26960, __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, 26960, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 26960, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 26960, __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, 26960, __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, 26960, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 26960, __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, 26960, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __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("cuArrayGetMemoryRequirements", 0);

  /* "cuda/bindings/driver.pyx":26993
 *     """
 *     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":26994
 *     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":26993
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26995
 *     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":26996
 *         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, 26996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":26995
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":26998
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUarray cyarray
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26998, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":26999
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray cyarray
 *     if array is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 26999, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":27001
 *     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":27002
 *     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":27001
 *     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":27003
 *     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":27004
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(CUarray(array))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":27003
 *     if array is None:
 *         parray = 0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27006
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_array};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27006, __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, 27006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":27007
 *     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_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, 27007, __pyx_L1_error)
  __pyx_v_cyarray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27008
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27008, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":27009
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27010
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27010, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27009
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":27011
 *     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":27012
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27012, __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, 27012, __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, 27012, __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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27012, __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, 27012, __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, 27012, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27011
 *     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":27013
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27013, __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, 27013, __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, 27013, __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_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27013, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_memoryRequirements)) != (0)) __PYX_ERR(0, 27013, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":26960
 *     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_8);
  __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":27015
 *     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_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, 27015, __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, 27015, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27015, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27015, __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, 27015, __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, 27015, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27015, __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, 27015, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  CUdevice __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("cuMipmappedArrayGetMemoryRequirements", 0);

  /* "cuda/bindings/driver.pyx":27049
 *     """
 *     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":27050
 *     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":27049
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27051
 *     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":27052
 *         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, 27052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27051
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27054
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef cydriver.CUmipmappedArray cymipmap
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27054, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27055
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmipmappedArray cymipmap
 *     if mipmap is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 27055, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":27057
 *     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":27058
 *     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":27057
 *     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":27059
 *     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":27060
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":27059
 *     if mipmap is None:
 *         pmipmap = 0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27062
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mipmap};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27062, __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, 27062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmap = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":27063
 *     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_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, 27063, __pyx_L1_error)
  __pyx_v_cymipmap = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":27064
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27064, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":27065
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27066
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27066, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27065
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":27067
 *     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":27068
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27068, __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, 27068, __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, 27068, __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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27068, __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, 27068, __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, 27068, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27067
 *     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":27069
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27069, __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, 27069, __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, 27069, __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_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 27069, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_memoryRequirements)) != (0)) __PYX_ERR(0, 27069, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27015
 *     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_8);
  __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":27071
 *     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, 27071, __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, 27071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27071, __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, 27071, __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, 27071, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27071, __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, 27072, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetPlane", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27071, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayGetPlane", 0);

  /* "cuda/bindings/driver.pyx":27110
 *     """
 *     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":27111
 *     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":27110
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27112
 *     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":27113
 *         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, 27113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27112
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27115
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27115, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27116
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pPlaneArray = CUarray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27116, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27117
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27117, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pPlaneArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":27118
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27119
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayGetPlane(((CUarray *)__pyx_v_pPlaneArray->_pvt_ptr), __pyx_v_cyhArray, __pyx_v_planeIdx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27119, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27118
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27120
 *     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":27121
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27121, __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, 27121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27121, __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, 27121, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27120
 *     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":27122
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27122, __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, 27122, __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, 27122, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27122, __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, 27122, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pPlaneArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pPlaneArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pPlaneArray)) != (0)) __PYX_ERR(0, 27122, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27071
 *     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_7);
  __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":27124
 *     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, 27124, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 27124, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27124, __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, 27124, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27124, __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, 27124, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArrayDestroy", 0);

  /* "cuda/bindings/driver.pyx":27145
 *     """
 *     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":27146
 *     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":27145
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27147
 *     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":27148
 *         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, 27148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27147
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27150
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27150, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27151
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27151, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27152
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuArrayDestroy(cyhArray)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27153
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuArrayDestroy(__pyx_v_cyhArray); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27153, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27152
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27154
 *     with nogil:
 *         err = cydriver.cuArrayDestroy(cyhArray)
 *     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, 27154, __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, 27154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 27154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27154, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27124
 *     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_7);
  __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":27156
 *     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, 27156, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 27156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27156, __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, 27156, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27156, __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, 27156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 27157, __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;
  size_t __pyx_t_3;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArray3DCreate", 0);

  /* "cuda/bindings/driver.pyx":27280
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27280, __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":27281
 *     """
 *     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_5 = (((PyObject *)__pyx_v_pAllocateArray) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypAllocateArray_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":27282
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27283
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuArray3DCreate(((CUarray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypAllocateArray_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27283, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27282
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27284
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":27285
 *         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, 27285, __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, 27285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27285, __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, 27285, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27284
 *     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":27286
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27286, __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, 27286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27286, __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, 27286, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 27286, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27156
 *     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_7);
  __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":27288
 *     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, 27288, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 27288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27288, __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, 27288, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27288, __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, 27288, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuArray3DGetDescriptor", 0);

  /* "cuda/bindings/driver.pyx":27318
 *     """
 *     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":27319
 *     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":27318
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27320
 *     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":27321
 *         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, 27321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27320
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27323
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27323, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27324
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27324, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27325
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27325, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":27326
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27327
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27327, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27326
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27328
 *     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":27329
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27329, __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, 27329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27329, __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, 27329, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27328
 *     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":27330
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27330, __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, 27330, __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, 27330, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27330, __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, 27330, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pArrayDescriptor)) != (0)) __PYX_ERR(0, 27330, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27288
 *     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_7);
  __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":27332
 *     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, 27332, __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, 27332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27332, __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, 27332, __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, 27332, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27332, __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, 27333, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayCreate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 27333, __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;
  size_t __pyx_t_3;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayCreate", 0);

  /* "cuda/bindings/driver.pyx":27444
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27444, __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":27445
 *     """
 *     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_5 = (((PyObject *)__pyx_v_pMipmappedArrayDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_pMipmappedArrayDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypMipmappedArrayDesc_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":27446
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27447
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayCreate(((CUmipmappedArray *)__pyx_v_pHandle->_pvt_ptr), __pyx_v_cypMipmappedArrayDesc_ptr, __pyx_v_numMipmapLevels); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27447, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27446
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27448
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":27449
 *         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, 27449, __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, 27449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27449, __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, 27449, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27448
 *     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":27450
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27450, __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, 27450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27450, __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, 27450, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle)) != (0)) __PYX_ERR(0, 27450, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27332
 *     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_7);
  __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":27452
 *     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, 27452, __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, 27452, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27452, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27452, __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, 27452, __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, 27452, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27452, __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, 27453, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetLevel", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27452, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetLevel", 0);

  /* "cuda/bindings/driver.pyx":27481
 *     """
 *     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":27482
 *     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":27481
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27483
 *     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":27484
 *         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, 27484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27483
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27486
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27486, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27487
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pLevelArray = CUarray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27487, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27488
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27488, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pLevelArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":27489
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27490
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayGetLevel(((CUarray *)__pyx_v_pLevelArray->_pvt_ptr), __pyx_v_cyhMipmappedArray, __pyx_v_level); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27490, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27489
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27491
 *     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":27492
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27492, __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, 27492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27492, __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, 27492, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27491
 *     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":27493
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27493, __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, 27493, __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, 27493, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27493, __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, 27493, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pLevelArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pLevelArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pLevelArray)) != (0)) __PYX_ERR(0, 27493, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27452
 *     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_7);
  __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":27495
 *     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, 27495, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 27495, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27495, __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, 27495, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27495, __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, 27495, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMipmappedArrayDestroy", 0);

  /* "cuda/bindings/driver.pyx":27516
 *     """
 *     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":27517
 *     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":27516
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27518
 *     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":27519
 *         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, 27519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27518
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27521
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27521, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27522
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27522, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27523
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27524
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMipmappedArrayDestroy(__pyx_v_cyhMipmappedArray); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27524, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27523
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27525
 *     with nogil:
 *         err = cydriver.cuMipmappedArrayDestroy(cyhMipmappedArray)
 *     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, 27525, __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, 27525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 27525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27525, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27495
 *     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_7);
  __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":27527
 *     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. When requesting\nCUmemRangeHandleType::CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, address\nrange obtained by a prior call to either :py:obj:`~.cuMemAlloc` or\n:py:obj:`~.cuMemAddressReserve` is supported if the\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED` device attribute\nreturns true. If the address range was obtained via\n:py:obj:`~.cuMemAddressReserve`, it must also be fully mapped via\n:py:obj:`~.cuMemMap`. Address range obtained by a prior call to either\n:py:obj:`~.cuMemAllocHost` or :py:obj:`~.cuMemHostAlloc` is supported\nif the :py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED`\ndevice attribute returns true.\n\nAs of CUDA 13.0, querying support for address range obtained by calling\n:py:obj:`~.cuMemAllocHost` or :py:obj:`~.cuMemHostAlloc` using the\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED` device attribute is\ndeprecated.\n\nUsers must ensure the `dptr` and `size` are aligned to the host page\nsize.\n\nThe `handle` will be interpreted as a pointer to an integer to store\nthe dma_buf file descriptor. Users must ensure the entire address range\nis backed and mapped when the address range is allocated by\n:py:obj:`~.cuMemAddressReserve`. All the physical allocations backing\nthe address range must be resident on the same device and have\nidentical allocation properties. Users are also expected to retrieve a\nnew handle every time the underlying physical allocation(s)\ncorresponding to a previously queried VA range are changed.\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:ob""j:`~.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:`~.CUmemRangeHandleType`\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, 27527, __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, 27527, __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, 27527, __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, 27527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27527, __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, 27527, __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, 27527, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27527, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27527, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27527, __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, 27528, __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, 27528, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 27528, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemRangeHandleType __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("cuMemGetHandleForAddressRange", 0);

  /* "cuda/bindings/driver.pyx":27590
 *     """
 *     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":27591
 *     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":27590
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27592
 *     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":27593
 *         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, 27593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27592
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27595
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27595, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27596
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef int handle = 0
 *     cdef void* cyhandle_ptr = <void*>&handle
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27596, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27597
 *         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":27598
 *     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":27599
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmemRangeHandleType_enum)__Pyx_PyLong_As_enum__CUmemRangeHandleType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 27599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyhandleType = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":27600
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27601
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27601, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27600
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27602
 *     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":27603
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27603, __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, 27603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 27603, __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, 27603, __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, 27603, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27602
 *     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":27604
 *     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, 27604, __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, 27604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27604, __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, 27604, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 27604, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27527
 *     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_8);
  __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":27606
 *     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_HW_DECOMPRESS_CAPABLE` should give a\nnon-zero value. To ensure this, the memory backing the pointers should\nhave been allocated using one of the following CUDA memory allocators:\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, 27606, __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, 27606, __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, 27606, __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, 27606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27606, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27606, __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, 27606, __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, 27606, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27606, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27606, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27606, __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, 27607, __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, 27607, __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, 27606, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 27607, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUmemDecompressParams_st *__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("cuMemBatchDecompressAsync", 0);

  /* "cuda/bindings/driver.pyx":27673
 *     """
 *     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":27674
 *     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":27673
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27675
 *     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":27676
 *         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, 27676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27675
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27678
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27678, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27679
 *     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_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, 27679, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27680
 *         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_6 = __pyx_v_paramsArray->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyparamsArray_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":27681
 *     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":27682
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27683
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27683, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":27682
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27684
 *     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":27685
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27685, __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, 27685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 27685, __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, 27685, __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, 27685, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27684
 *     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":27686
 *     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, 27686, __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, 27686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_errorIndex); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 27686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27686, __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, 27686, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 27686, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27606
 *     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_8);
  __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":27688
 *     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, 27688, __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, 27688, __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, 27688, __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, 27688, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27688, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27688, __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, 27688, __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, 27688, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27688, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27688, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27688, __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, 27689, __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, 27689, __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, 27689, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 27688, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAddressReserve", 0);

  /* "cuda/bindings/driver.pyx":27724
 *     """
 *     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":27725
 *     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":27724
 *     """
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27726
 *     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":27727
 *         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, 27727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27726
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27729
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_addr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27729, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27730
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27730, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27731
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27731, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_ptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":27732
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27733
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27733, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27732
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27734
 *     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":27735
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27735, __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, 27735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27735, __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, 27735, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27734
 *     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":27736
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27736, __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, 27736, __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, 27736, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27736, __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, 27736, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_ptr)) != (0)) __PYX_ERR(0, 27736, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27688
 *     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_7);
  __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":27738
 *     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, 27738, __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, 27738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27738, __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, 27738, __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, 27738, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27738, __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, 27739, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressFree", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 27738, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAddressFree", 0);

  /* "cuda/bindings/driver.pyx":27763
 *     """
 *     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":27764
 *     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":27763
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27765
 *     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":27766
 *         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, 27766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27765
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27768
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27768, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27769
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, size)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27769, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27770
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAddressFree(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27771
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAddressFree(__pyx_v_cyptr, __pyx_v_size); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27771, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27770
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27772
 *     with nogil:
 *         err = cydriver.cuMemAddressFree(cyptr, 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, 27772, __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, 27772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 27772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27772, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27738
 *     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_7);
  __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":27774
 *     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 that doesn't target any specific NUMA nodes, applications\nmust set :py:obj:`~.CUmemAllocationProp`::CUmemLocation::type to\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST`.\n:py:obj:`~.CUmemAllocationProp`::CUmemLocation::id is ignored for HOST\nallocations. HOST allocations are not IPC capable and\n:py:obj:`~.CUmemAllocationProp.requestedHandleTypes` must be 0, any\nother value will result in :py:obj:`~.CUDA_ERROR_INVALID_VALUE`. To\ncreate a CPU allocation targeting a specific host NUMA node,\napplications 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` as the\n:py:obj:`~.CUmemLocation.typ""e` 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 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\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, 27774, __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, 27774, __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, 27774, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27774, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27774, __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, 27774, __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, 27774, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27774, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27774, __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, 27775, __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, 27775, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 27774, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 27775, __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;
  size_t __pyx_t_3;
  struct CUmemAllocationProp_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemCreate", 0);

  /* "cuda/bindings/driver.pyx":27856
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27856, __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":27857
 *     """
 *     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_5 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":27858
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27859
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27859, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27858
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":27860
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":27861
 *         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, 27861, __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, 27861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 27861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27861, __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, 27861, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":27860
 *     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":27862
 *     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, 27862, __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, 27862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27862, __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, 27862, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 27862, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27774
 *     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_7);
  __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":27864
 *     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, 27864, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 27864, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27864, __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, 27864, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27864, __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, 27864, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRelease", 0);

  /* "cuda/bindings/driver.pyx":27894
 *     """
 *     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":27895
 *     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":27894
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27896
 *     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":27897
 *         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, 27897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27896
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27899
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27899, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27900
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27900, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27901
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemRelease(cyhandle)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27902
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRelease(__pyx_v_cyhandle); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27902, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27901
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":27903
 *     with nogil:
 *         err = cydriver.cuMemRelease(cyhandle)
 *     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, 27903, __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, 27903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 27903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 27903, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27864
 *     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_7);
  __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":27905
 *     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, 27905, __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, 27905, __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, 27905, __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, 27905, __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, 27905, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27905, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27905, __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, 27905, __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, 27905, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27905, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27905, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 27905, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 27905, __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, 27906, __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, 27906, __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, 27906, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 27905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemMap", 0);

  /* "cuda/bindings/driver.pyx":27966
 *     """
 *     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":27967
 *     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":27966
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27968
 *     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":27969
 *         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, 27969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":27968
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":27971
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef cydriver.CUdeviceptr cyptr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27971, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":27972
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27972, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27974
 *     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":27975
 *     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":27974
 *     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":27976
 *     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":27977
 *         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, 27977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":27976
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":27979
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ptr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27979, __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, 27979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":27980
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 27980, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":27981
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":27982
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemMap(cyptr, size, offset, cyhandle, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 27982, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":27981
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":27983
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27983, __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, 27983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 27983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 27983, __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, 27983, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27905
 *     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_7);
  __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":27985
 *     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, 27985, __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, 27985, __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, 27985, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 27985, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 27985, __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, 27985, __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, 27985, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 27985, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 27985, __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, 27986, __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, 27985, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator135(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":28138
 *     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_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, 28138, __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_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_cuMemMapArrayAsync_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 28138, __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_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, 28138, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 28138, __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, 28138, __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, 28138, __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, 28138, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 28138, __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, 28138, __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, 28138, __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":27985
 *     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_2generator135 = 0;
  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;
  int __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 CUarrayMapInfo_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":28130
 *     """
 *     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":28131
 *     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":28130
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28132
 *     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":28133
 *         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, 28133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28132
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28135
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28135, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28136
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28136, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28137
 *         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, 28137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_mapInfoList);
    __pyx_t_3 = __pyx_v_mapInfoList;
  }
  __Pyx_DECREF_SET(__pyx_v_mapInfoList, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28138
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_18cuMemMapArrayAsync_genexpr(NULL, __pyx_v_mapInfoList); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 28138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":28139
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_mapInfoList_is_not_inst};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28139, __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, 28139, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":28138
 *     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":28140
 *     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":28141
 *         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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28141, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":28142
 *     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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28142, __pyx_L1_error)
    __pyx_v_cymapInfoList = ((CUarrayMapInfo *)calloc(__pyx_t_7, (sizeof(CUarrayMapInfo))));

    /* "cuda/bindings/driver.pyx":28143
 *     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_6 = (__pyx_v_cymapInfoList == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":28144
 *         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_t_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28144, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28144, __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, 28144, __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, 28144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28144, __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(CUarrayMapInfo))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28144, __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, 28144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28144, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28144, __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, 28144, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":28143
 *     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":28145
 *         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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28145, __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":28146
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28146, __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":28141
 *         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":28147
 *         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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28147, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":28148
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":28147
 *         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":28149
 *     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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28149, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > __pyx_t_7);
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28149, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28149, __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, 28149, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 28149, __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, 28149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28149, __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, 28149, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":28150
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28151
 *     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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuMemMapArrayAsync(__pyx_v_cymapInfoList, __pyx_v_count, __pyx_v_cyhStream); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28151, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":28150
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":28152
 *     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_7 = PyObject_Length(__pyx_v_mapInfoList); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28152, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L14_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cymapInfoList != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L14_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":28153
 *         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":28152
 *     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":28154
 *     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, 28154, __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, 28154, __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, 28154, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28154, __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, 28154, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":27985
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator135);
  __Pyx_XDECREF(__pyx_v_mapInfoList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28156
 *     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, 28156, __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, 28156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28156, __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, 28156, __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, 28156, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28156, __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, 28157, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemUnmap", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 28156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemUnmap", 0);

  /* "cuda/bindings/driver.pyx":28190
 *     """
 *     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":28191
 *     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":28190
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28192
 *     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":28193
 *         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, 28193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28192
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28195
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28195, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28196
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, size)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28196, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28197
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemUnmap(cyptr, size)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28198
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemUnmap(__pyx_v_cyptr, __pyx_v_size); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28198, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28197
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28199
 *     with nogil:
 *         err = cydriver.cuMemUnmap(cyptr, 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, 28199, __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, 28199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 28199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 28199, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28156
 *     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_7);
  __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":28201
 *     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, 28201, __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, 28201, __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, 28201, __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, 28201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28201, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28201, __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, 28201, __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, 28201, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28201, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28201, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 28201, __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, 28202, __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, 28202, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 28201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator136(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":28245
 *     """
 *     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_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, 28245, __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_2generator136, ((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_cuMemSetAccess_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 28245, __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_2generator136(__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, 28245, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 28245, __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, 28245, __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, 28245, __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, 28245, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 28245, __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, 28245, __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, 28245, __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":28201
 *     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_2generator136 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUmemAccessDesc_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":28244
 *     :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, 28244, __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":28245
 *     """
 *     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, 28245, __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, 28245, __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, 28245, __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":28246
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28246, __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, 28246, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":28245
 *     """
 *     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":28248
 *         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":28249
 *     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":28248
 *         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":28250
 *     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":28251
 *         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, 28251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":28250
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28253
 *         pptr = int(ptr)
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_ptr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28253, __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, 28253, __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":28254
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAccessDesc* cydesc = NULL
 *     if len(desc) > 1:
*/
  __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, 28254, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28255
 *         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":28256
 *     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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28256, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28257
 *     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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28257, __pyx_L1_error)
    __pyx_v_cydesc = ((CUmemAccessDesc *)calloc(__pyx_t_7, (sizeof(CUmemAccessDesc))));

    /* "cuda/bindings/driver.pyx":28258
 *     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":28259
 *         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_t_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28259, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28259, __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, 28259, __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, 28259, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28259, __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(CUmemAccessDesc))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28259, __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, 28259, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28259, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28259, __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, 28259, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":28258
 *     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":28260
 *         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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28260, __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":28261
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28261, __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":28256
 *     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":28262
 *         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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28262, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28263
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":28262
 *         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":28264
 *     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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28264, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28264, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28264, __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, 28264, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 28264, __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, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 28264, __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, 28264, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":28265
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28266
 *     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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuMemSetAccess(__pyx_v_cyptr, __pyx_v_size, __pyx_v_cydesc, __pyx_v_count); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28266, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":28265
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":28267
 *     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_7 = PyObject_Length(__pyx_v_desc); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28267, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":28268
 *         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":28267
 *     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":28269
 *     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, 28269, __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, 28269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 28269, __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, 28269, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28201
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator136);
  __Pyx_XDECREF(__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28271
 *     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, 28271, __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, 28271, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28271, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28271, __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, 28271, __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, 28271, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28271, __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, 28271, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28272, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUmemLocation_st *__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("cuMemGetAccess", 0);

  /* "cuda/bindings/driver.pyx":28294
 *     """
 *     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":28295
 *     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":28294
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28296
 *     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":28297
 *         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, 28297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28296
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28299
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28299, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28300
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28300, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28301
 *         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":28302
 *     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_6 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28303
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28304
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAccess((&__pyx_v_flags), __pyx_v_cylocation_ptr, __pyx_v_cyptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28304, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28303
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28305
 *     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":28306
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28306, __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, 28306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 28306, __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, 28306, __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, 28306, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28305
 *     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":28307
 *     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, 28307, __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, 28307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_flags); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28307, __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, 28307, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 28307, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28271
 *     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_8);
  __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":28309
 *     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, 28309, __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, 28309, __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, 28309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28309, __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, 28309, __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, 28309, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28309, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28309, __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, 28310, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28309, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28310, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemAllocationHandleType __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("cuMemExportToShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28350
 *     """
 *     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":28351
 *     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":28350
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28352
 *     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":28353
 *         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, 28353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28352
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28355
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28355, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28356
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28356, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28357
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handleType};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28357, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyshareableHandle = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28358
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyshareableHandle), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyshareableHandle_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28359
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyhandleType = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28360
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28361
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemExportToShareableHandle(__pyx_v_cyshareableHandle_ptr, __pyx_v_cyhandle, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28361, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28360
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28362
 *     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":28363
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28363, __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, 28363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 28363, __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, 28363, __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, 28363, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28362
 *     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":28364
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28364, __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, 28364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_v_cyshareableHandle);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __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, 28364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28364, __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, 28364, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 28364, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28309
 *     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_8);
  __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":28366
 *     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, 28366, __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, 28366, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28366, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28366, __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, 28366, __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, 28366, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28366, __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, 28366, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28367, __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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUmemAllocationHandleType __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemImportFromShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":28403
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28403, __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":28404
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyosHandle = _HelperInputVoidPtr(osHandle)             # <<<<<<<<<<<<<<
 *     cdef void* cyosHandle_ptr = <void*><void_ptr>cyosHandle.cptr
 *     cdef cydriver.CUmemAllocationHandleType cyshHandleType = shHandleType.value
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_osHandle};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28404, __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":28405
 *     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, 28405, __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, 28405, __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_4));

  /* "cuda/bindings/driver.pyx":28406
 *     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, 28406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyshHandleType = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":28407
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28408
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemImportFromShareableHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_pvt_ptr), __pyx_v_cyosHandle_ptr, __pyx_v_cyshHandleType); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28408, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28407
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28409
 *     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_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":28410
 *         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, 28410, __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, 28410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 28410, __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, 28410, __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, 28410, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28409
 *     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":28411
 *     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, 28411, __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, 28411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 28411, __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, 28411, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 28411, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28366
 *     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_8);
  __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":28413
 *     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, 28413, __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, 28413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28413, __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, 28413, __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, 28413, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28413, __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, 28413, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28414, __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, 28414, __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":28440
 *     :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":28441
 *     """
 *     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":28442
 *     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, 28442, __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, 28442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoption = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":28443
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28444
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28444, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":28443
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28445
 *     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":28446
 *         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, 28446, __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, 28446, __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, 28446, __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, 28446, __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, 28446, __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, 28446, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28445
 *     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":28447
 *     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, 28447, __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, 28447, __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, 28447, __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, 28447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28447, __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, 28447, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 28447, __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":28413
 *     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":28449
 *     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, 28449, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 28449, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28449, __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, 28449, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28449, __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, 28449, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemGetAllocationPropertiesFromHandle", 0);

  /* "cuda/bindings/driver.pyx":28471
 *     """
 *     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":28472
 *     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":28471
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cyhandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28473
 *     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":28474
 *         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, 28474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28473
 *     if handle is None:
 *         phandle = 0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28476
 *         phandle = int(handle)
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_handle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28476, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28477
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *     cyhandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28477, __pyx_L1_error)
  __pyx_v_cyhandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28478
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28478, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_prop = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemAllocationProp *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28479
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28480
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetAllocationPropertiesFromHandle(((CUmemAllocationProp *)__pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyhandle); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28480, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28479
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28481
 *     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":28482
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28482, __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, 28482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 28482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 28482, __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, 28482, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28481
 *     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":28483
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28483, __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, 28483, __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, 28483, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28483, __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, 28483, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_prop)) != (0)) __PYX_ERR(0, 28483, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28449
 *     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_7);
  __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":28485
 *     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, 28485, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 28485, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28485, __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, 28485, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28485, __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, 28485, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRetainAllocationHandle", 0);

  /* "cuda/bindings/driver.pyx":28514
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28514, __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":28515
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cyaddr = _HelperInputVoidPtr(addr)             # <<<<<<<<<<<<<<
 *     cdef void* cyaddr_ptr = <void*><void_ptr>cyaddr.cptr
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28515, __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":28516
 *     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, 28516, __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, 28516, __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_4));

  /* "cuda/bindings/driver.pyx":28517
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28518
 *     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_5 = __pyx_f_4cuda_8bindings_8cydriver_cuMemRetainAllocationHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_pvt_ptr), __pyx_v_cyaddr_ptr); if (unlikely(__pyx_t_5 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28518, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":28517
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":28519
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":28520
 *         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, 28520, __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, 28520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 28520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 28520, __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, 28520, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28519
 *     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":28521
 *     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, 28521, __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, 28521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28521, __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, 28521, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_handle)) != (0)) __PYX_ERR(0, 28521, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28485
 *     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_7);
  __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":28523
 *     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, 28523, __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, 28523, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28523, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28523, __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, 28523, __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, 28523, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28523, __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, 28523, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemFreeAsync", 0);

  /* "cuda/bindings/driver.pyx":28549
 *     """
 *     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":28550
 *     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":28549
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28551
 *     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":28552
 *         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, 28552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28551
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28554
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydptr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28554, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28555
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28555, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28557
 *     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":28558
 *     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":28557
 *     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":28559
 *     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":28560
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":28559
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28562
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dptr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28562, __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, 28562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":28563
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28563, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28564
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28565
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemFreeAsync(__pyx_v_cydptr, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28565, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28564
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":28566
 *     with nogil:
 *         err = cydriver.cuMemFreeAsync(cydptr, 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, 28566, __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, 28566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 28566, __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, 28566, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28523
 *     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_7);
  __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":28568
 *     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, 28568, __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, 28568, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28568, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28568, __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, 28568, __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, 28568, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28568, __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, 28569, __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, 28568, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocAsync", 0);

  /* "cuda/bindings/driver.pyx":28605
 *     """
 *     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":28606
 *     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":28605
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28607
 *     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":28608
 *         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, 28608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28607
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28610
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28610, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28611
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28611, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28612
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28612, __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":28613
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28614
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAllocAsync(((CUdeviceptr *)__pyx_v_dptr->_pvt_ptr), __pyx_v_bytesize, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28614, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28613
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28615
 *     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":28616
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28616, __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, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 28616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (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_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28615
 *     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":28617
 *     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, 28617, __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, 28617, __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, 28617, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28617, __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, 28617, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 28617, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28568
 *     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_7);
  __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":28619
 *     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, 28619, __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, 28619, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        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, "cuMemPoolTrimTo", 0) < (0)) __PYX_ERR(0, 28619, __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, 28619, __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, 28619, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28619, __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, 28620, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolTrimTo", 1, 2, 2, __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.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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolTrimTo", 0);

  /* "cuda/bindings/driver.pyx":28655
 *     """
 *     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":28656
 *     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":28655
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28657
 *     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":28658
 *         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, 28658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28657
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28660
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28660, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28661
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28661, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28662
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28663
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolTrimTo(__pyx_v_cypool, __pyx_v_minBytesToKeep); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28663, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":28662
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28664
 *     with nogil:
 *         err = cydriver.cuMemPoolTrimTo(cypool, minBytesToKeep)
 *     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, 28664, __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, 28664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 28664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 28664, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28619
 *     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_7);
  __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":28666
 *     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, 28666, __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, 28666, __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, 28666, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28666, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28666, __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, 28666, __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, 28666, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28666, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28666, __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, 28666, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28667, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemPool_attribute __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":28724
 *     """
 *     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":28725
 *     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":28724
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28726
 *     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":28727
 *         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, 28727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28726
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28729
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28729, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28730
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28730, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28731
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmemPool_attribute_enum)__Pyx_PyLong_As_enum__CUmemPool_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28732
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_v_value};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28732, __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, 28732, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28732, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28733
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28734
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28735
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAttribute(__pyx_v_cypool, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28735, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28734
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28736
 *     with nogil:
 *         err = cydriver.cuMemPoolSetAttribute(cypool, cyattr, cyvalue_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, 28736, __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, 28736, __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, 28736, __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(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28736, __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, 28736, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28666
 *     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_7);
  __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":28738
 *     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, 28738, __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, 28738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28738, __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, 28738, __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, 28738, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28738, __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, 28738, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28739, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemPool_attribute __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":28803
 *     """
 *     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":28804
 *     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":28803
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28805
 *     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":28806
 *         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, 28806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28805
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28808
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28808, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28809
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28809, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28810
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmemPool_attribute_enum)__Pyx_PyLong_As_enum__CUmemPool_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 28810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28811
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28811, __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, 28811, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28811, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemPool_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":28812
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28813
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28814
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAttribute(__pyx_v_cypool, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28814, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":28813
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28815
 *     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":28816
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28816, __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, 28816, __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, 28816, __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, 28816, __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, 28816, __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, 28816, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28815
 *     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":28817
 *     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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28817, __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, 28817, __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, 28817, __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_7 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 28817, __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, 28817, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 28817, __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":28738
 *     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_7);
  __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":28819
 *     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, 28819, __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, 28819, __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, 28819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28819, __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, 28819, __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, 28819, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28819, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 28819, __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, 28820, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 28819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_2generator137(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":28843
 *     """
 *     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_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, 28843, __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_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_cuMemPoolSetAccess_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 28843, __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_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, 28843, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 28843, __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, 28843, __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, 28843, __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, 28843, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 28843, __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, 28843, __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, 28843, __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":28819
 *     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_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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUmemAccessDesc_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":28842
 *     :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, 28842, __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":28843
 *     """
 *     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, 28843, __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, 28843, __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, 28843, __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":28844
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28844, __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, 28844, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":28843
 *     """
 *     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":28846
 *         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":28847
 *     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":28846
 *         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":28848
 *     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":28849
 *         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, 28849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":28848
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":28851
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pool};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28851, __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, 28851, __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":28852
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAccessDesc* cymap = NULL
 *     if len(map) > 1:
*/
  __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, 28852, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":28853
 *         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":28854
 *     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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28854, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28855
 *     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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28855, __pyx_L1_error)
    __pyx_v_cymap = ((CUmemAccessDesc *)calloc(__pyx_t_7, (sizeof(CUmemAccessDesc))));

    /* "cuda/bindings/driver.pyx":28856
 *     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":28857
 *         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_t_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28857, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28857, __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, 28857, __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, 28857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28857, __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(CUmemAccessDesc))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28857, __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, 28857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28857, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28857, __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, 28857, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":28856
 *     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":28858
 *         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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28858, __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":28859
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28859, __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":28854
 *     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":28860
 *         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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28860, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":28861
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":28860
 *         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":28862
 *     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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28862, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28862, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28862, __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, 28862, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 28862, __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, 28862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 28862, __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, 28862, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":28863
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28864
 *     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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolSetAccess(__pyx_v_cypool, __pyx_v_cymap, __pyx_v_count); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28864, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":28863
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":28865
 *     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_7 = PyObject_Length(__pyx_v_map); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 28865, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":28866
 *         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":28865
 *     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":28867
 *     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, 28867, __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, 28867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 28867, __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, 28867, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28819
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator137);
  __Pyx_XDECREF(__pyx_v_map);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":28869
 *     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, 28869, __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, 28869, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28869, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28869, __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, 28869, __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, 28869, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 28869, __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, 28869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28870, __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUmemLocation_st *__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("cuMemPoolGetAccess", 0);

  /* "cuda/bindings/driver.pyx":28895
 *     """
 *     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":28896
 *     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":28895
 *     """
 *     cdef cydriver.CUmemoryPool cymemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28897
 *     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":28898
 *         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, 28898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemPool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":28897
 *     if memPool is None:
 *         pmemPool = 0
 *     elif isinstance(memPool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":28900
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memPool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28900, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemPool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":28901
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 28901, __pyx_L1_error)
  __pyx_v_cymemPool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":28903
 *     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_6 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":28904
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":28905
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolGetAccess((&__pyx_v_flags), __pyx_v_cymemPool, __pyx_v_cylocation_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 28905, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":28904
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":28906
 *     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":28907
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28907, __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, 28907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 28907, __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, 28907, __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, 28907, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":28906
 *     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":28908
 *     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, 28908, __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, 28908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 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, 28908, __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, 28908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __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_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 28908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 28908, __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, 28908, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 28908, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28869
 *     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_8);
  __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":28910
 *     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 for HOST memory not targeting a specific NUMA\nnode, applications must set set\n:py:obj:`~.CUmemPoolProps`::CUmemLocation::type to\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST`.\n:py:obj:`~.CUmemPoolProps`::CUmemLocation::id is ignored for such\npools. Pools created with the type\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` are not IPC capable and\n:py:obj:`~.CUmemPoolProps.handleTypes` must be 0, any other values will\nresult in :py:obj:`~.CUDA_ERROR_INVALID_VALUE`. To create a memory pool\ntargeting a specific host NUMA node, applications must set\n:py:obj:`~.CUmemPoolProps`::CUmemLocation::type to\n: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` 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` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST`, their default accessibility will\nbe from the host CPU. Applications can control the maximum size of the\npool 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 expo""rter 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\nTo create a managed memory pool, applications must set\n:py:obj:`~.CUmemPoolProps`::CUmemAllocationType to\nCU_MEM_ALLOCATION_TYPE_MANAGED.\n:py:obj:`~.CUmemPoolProps`::CUmemAllocationHandleType must also be set\nto CU_MEM_HANDLE_TYPE_NONE since IPC is not supported. For managed\nmemory pools, :py:obj:`~.CUmemPoolProps`::CUmemLocation will be treated\nas the preferred location for all allocations created from the pool. An\napplication can also set CU_MEM_LOCATION_TYPE_NONE to indicate no\npreferred location. :py:obj:`~.CUmemPoolProps.maxSize` must be set to\nzero for managed memory pools. :py:obj:`~.CUmemPoolProps.usage` should\nbe zero as decompress for managed memory is not supported. For managed\nmemory pools, all devices on the system must have non-zero\n:py:obj:`~.concurrentManagedAccess`. If not, this call returns\nCUDA_ERROR_NOT_SUPPORTED\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, 28910, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 28910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 28910, __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, 28910, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 28910, __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, 28910, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 28911, __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;
  size_t __pyx_t_3;
  struct CUmemPoolProps_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolCreate", 0);

  /* "cuda/bindings/driver.pyx":28998
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28998, __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":28999
 *     """
 *     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_5 = (((PyObject *)__pyx_v_poolProps) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_poolProps->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypoolProps_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29000
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29001
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolCreate(((CUmemoryPool *)__pyx_v_pool->_pvt_ptr), __pyx_v_cypoolProps_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29001, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29000
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29002
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":29003
 *         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, 29003, __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, 29003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 29003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29003, __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, 29003, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29002
 *     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":29004
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29004, __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, 29004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29004, __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, 29004, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pool)) != (0)) __PYX_ERR(0, 29004, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":28910
 *     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_7);
  __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":29006
 *     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, 29006, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 29006, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29006, __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, 29006, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29006, __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, 29006, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolDestroy", 0);

  /* "cuda/bindings/driver.pyx":29038
 *     """
 *     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":29039
 *     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":29038
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29040
 *     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":29041
 *         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, 29041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29040
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29043
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29043, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29044
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(cypool)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29044, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29045
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPoolDestroy(cypool)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29046
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(cypool)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolDestroy(__pyx_v_cypool); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29046, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29045
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29047
 *     with nogil:
 *         err = cydriver.cuMemPoolDestroy(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, 29047, __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, 29047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 29047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29047, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29006
 *     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_7);
  __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":29049
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetDefaultMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType):
 *     """ Returns the default memory pool for a given location and allocation type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_371cuMemGetDefaultMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_370cuMemGetDefaultMemPool, "cuMemGetDefaultMemPool(CUmemLocation location: Optional[CUmemLocation], typename: CUmemAllocationType)\n\nReturns the default memory pool for a given location and allocation type.\n\nThe memory location can be of one of\n:py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`,\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`. The allocation type can be\none of :py:obj:`~.CU_MEM_ALLOCATION_TYPE_PINNED` or\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`. When the allocation type is\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`, the location type can also\nbe :py:obj:`~.CU_MEM_LOCATION_TYPE_NONE` to indicate no preferred\nlocation for the managed memory pool. In all other cases, the call\nreturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nParameters\n----------\nlocation : :py:obj:`~.CUmemLocation`\n    None\ntypename : :py:obj:`~.CUmemAllocationType`\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:`~.cuMemGetMemPool`, :py:obj:`~.cuMemPoolCreate`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_371cuMemGetDefaultMemPool = {"cuMemGetDefaultMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_371cuMemGetDefaultMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_370cuMemGetDefaultMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_371cuMemGetDefaultMemPool(PyObject *__pyx_self, 
#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_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("cuMemGetDefaultMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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_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, 29049, __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, 29049, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29049, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemGetDefaultMemPool", 0) < (0)) __PYX_ERR(0, 29049, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetDefaultMemPool", 1, 2, 2, i); __PYX_ERR(0, 29049, __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, 29049, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29049, __pyx_L3_error)
    }
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[0]);
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetDefaultMemPool", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 29049, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetDefaultMemPool", __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, 29050, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 29050, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_370cuMemGetDefaultMemPool(__pyx_self, __pyx_v_location, __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_370cuMemGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool_out = 0;
  CUmemLocation *__pyx_v_cylocation_ptr;
  CUmemAllocationType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  struct CUmemLocation_st *__pyx_t_4;
  int __pyx_t_5;
  CUmemAllocationType __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("cuMemGetDefaultMemPool", 0);

  /* "cuda/bindings/driver.pyx":29082
 *     :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemPoolTrimTo`, :py:obj:`~.cuMemPoolGetAttribute`, :py:obj:`~.cuMemPoolSetAttribute`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuMemGetMemPool`, :py:obj:`~.cuMemPoolCreate`
 *     """
 *     cdef CUmemoryPool pool_out = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29082, __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":29083
 *     """
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_5 = (((PyObject *)__pyx_v_location) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29084
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_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, 29084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUmemAllocationType_enum)__Pyx_PyLong_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":29085
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29086
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetDefaultMemPool(((CUmemoryPool *)__pyx_v_pool_out->_pvt_ptr), __pyx_v_cylocation_ptr, __pyx_v_cytypename); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29086, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29085
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29087
 *     with nogil:
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  __pyx_t_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":29088
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)
 *     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, 29088, __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, 29088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 29088, __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, 29088, __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, 29088, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29087
 *     with nogil:
 *         err = cydriver.cuMemGetDefaultMemPool(<cydriver.CUmemoryPool*>pool_out._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool_out)
*/
  }

  /* "cuda/bindings/driver.pyx":29089
 *     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, 29089, __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, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 29089, __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, 29089, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pool_out)) != (0)) __PYX_ERR(0, 29089, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29049
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetDefaultMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType):
 *     """ Returns the default memory pool for a given location and allocation type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pool_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29091
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType):
 *     """ Gets the current memory pool for a memory location and of a particular allocation type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_373cuMemGetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_372cuMemGetMemPool, "cuMemGetMemPool(CUmemLocation location: Optional[CUmemLocation], typename: CUmemAllocationType)\n\nGets the current memory pool for a memory location and of a particular allocation type.\n\nThe memory location can be of one of\n:py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`,\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`. The allocation type can be\none of :py:obj:`~.CU_MEM_ALLOCATION_TYPE_PINNED` or\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`. When the allocation type is\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`, the location type can also\nbe :py:obj:`~.CU_MEM_LOCATION_TYPE_NONE` to indicate no preferred\nlocation for the managed memory pool. In all other cases, the call\nreturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\nReturns the last pool provided to :py:obj:`~.cuMemSetMemPool` or\n:py:obj:`~.cuDeviceSetMemPool` for this location and allocation type or\nthe location's default memory pool if :py:obj:`~.cuMemSetMemPool` or\n:py:obj:`~.cuDeviceSetMemPool` for that allocType and location has\nnever been called. By default the current mempool of a location is the\ndefault mempool for a device. Otherwise the returned pool must have\nbeen set with :py:obj:`~.cuDeviceSetMemPool`.\n\nParameters\n----------\nlocation : :py:obj:`~.CUmemLocation`\n    None\ntypename : :py:obj:`~.CUmemAllocationType`\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`, :py:obj:`~.cuMemSetMemPool`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_373cuMemGetMemPool = {"cuMemGetMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_373cuMemGetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_372cuMemGetMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_373cuMemGetMemPool(PyObject *__pyx_self, 
#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_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("cuMemGetMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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_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, 29091, __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, 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, "cuMemGetMemPool", 0) < (0)) __PYX_ERR(0, 29091, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemGetMemPool", 1, 2, 2, i); __PYX_ERR(0, 29091, __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, 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)
    }
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[0]);
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetMemPool", 1, 2, 2, __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.cuMemGetMemPool", __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, 29092, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 29092, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_372cuMemGetMemPool(__pyx_self, __pyx_v_location, __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_372cuMemGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUmemoryPool *__pyx_v_pool = 0;
  CUmemLocation *__pyx_v_cylocation_ptr;
  CUmemAllocationType __pyx_v_cytypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  struct CUmemLocation_st *__pyx_t_4;
  int __pyx_t_5;
  CUmemAllocationType __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("cuMemGetMemPool", 0);

  /* "cuda/bindings/driver.pyx":29132
 *     :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuMemSetMemPool`
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29132, __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":29133
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_5 = (((PyObject *)__pyx_v_location) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29134
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_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, 29134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUmemAllocationType_enum)__Pyx_PyLong_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":29135
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29136
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemGetMemPool(((CUmemoryPool *)__pyx_v_pool->_pvt_ptr), __pyx_v_cylocation_ptr, __pyx_v_cytypename); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29136, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29135
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29137
 *     with nogil:
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  __pyx_t_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":29138
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)
 *     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, 29138, __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, 29138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 29138, __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, 29138, __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, 29138, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29137
 *     with nogil:
 *         err = cydriver.cuMemGetMemPool(<cydriver.CUmemoryPool*>pool._pvt_ptr, cylocation_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pool)
*/
  }

  /* "cuda/bindings/driver.pyx":29139
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29139, __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, 29139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 29139, __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, 29139, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pool)) != (0)) __PYX_ERR(0, 29139, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29091
 *     return (_dict_CUresult[err], pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType):
 *     """ Gets the current memory pool for a memory location and of a particular allocation type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemGetMemPool", __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":29141
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType, pool):
 *     """ Sets the current memory pool for a memory location and allocation type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_375cuMemSetMemPool(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_374cuMemSetMemPool, "cuMemSetMemPool(CUmemLocation location: Optional[CUmemLocation], typename: CUmemAllocationType, pool)\n\nSets the current memory pool for a memory location and allocation type.\n\nThe memory location can be of one of\n:py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`,\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` or\n:py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`. The allocation type can be\none of :py:obj:`~.CU_MEM_ALLOCATION_TYPE_PINNED` or\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`. When the allocation type is\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_MANAGED`, the location type can also\nbe :py:obj:`~.CU_MEM_LOCATION_TYPE_NONE` to indicate no preferred\nlocation for the managed memory pool. In all other cases, the call\nreturns :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\nWhen a memory pool is set as the current memory pool, the location\nparameter should be the same as the location of the pool. The location\nand allocation type specified must match those of the pool otherwise\n:py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned. By default, a memory\nlocation's current memory pool is its default memory pool that can be\nobtained via :py:obj:`~.cuMemGetDefaultMemPool`. If the location type\nis :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` and the allocation type is\n:py:obj:`~.CU_MEM_ALLOCATION_TYPE_PINNED`, then this API is the\nequivalent of calling :py:obj:`~.cuDeviceSetMemPool` with the location\nid as the device. For further details on the implications, please refer\nto the documentation for :py:obj:`~.cuDeviceSetMemPool`.\n\nParameters\n----------\nlocation : :py:obj:`~.CUmemLocation`\n    None\ntypename : :py:obj:`~.CUmemAllocationType`\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:`~.cuMemGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolDestroy`, :p""y: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_375cuMemSetMemPool = {"cuMemSetMemPool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_375cuMemSetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_374cuMemSetMemPool};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_375cuMemSetMemPool(PyObject *__pyx_self, 
#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_typename = 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[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("cuMemSetMemPool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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_typename,&__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, 29141, __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, 29141, __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, 29141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemSetMemPool", 0) < (0)) __PYX_ERR(0, 29141, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemSetMemPool", 1, 3, 3, i); __PYX_ERR(0, 29141, __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, 29141, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29141, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29141, __pyx_L3_error)
    }
    __pyx_v_location = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)values[0]);
    __pyx_v_typename = values[1];
    __pyx_v_pool = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemSetMemPool", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 29141, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemSetMemPool", __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, 29142, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_typename) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "typename"); __PYX_ERR(0, 29142, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_374cuMemSetMemPool(__pyx_self, __pyx_v_location, __pyx_v_typename, __pyx_v_pool);

  /* 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_374cuMemSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_typename, PyObject *__pyx_v_pool) {
  CUmemoryPool __pyx_v_cypool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemLocation *__pyx_v_cylocation_ptr;
  CUmemAllocationType __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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUmemLocation_st *__pyx_t_6;
  CUmemAllocationType __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemSetMemPool", 0);

  /* "cuda/bindings/driver.pyx":29191
 *     """
 *     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":29192
 *     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":29191
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29193
 *     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":29194
 *         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, 29194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29193
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29196
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29196, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29197
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29197, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29198
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_location) != Py_None);
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_location->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cylocation_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":29199
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemSetMemPool(cylocation_ptr, cytypename, cypool)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUmemAllocationType_enum)__Pyx_PyLong_As_enum__CUmemAllocationType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":29200
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemSetMemPool(cylocation_ptr, cytypename, cypool)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29201
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuMemSetMemPool(cylocation_ptr, cytypename, cypool)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuMemSetMemPool(__pyx_v_cylocation_ptr, __pyx_v_cytypename, __pyx_v_cypool); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29201, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":29200
 *     cdef cydriver.CUmemLocation* cylocation_ptr = location._pvt_ptr if location is not None else NULL
 *     cdef cydriver.CUmemAllocationType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemSetMemPool(cylocation_ptr, cytypename, cypool)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29202
 *     with nogil:
 *         err = cydriver.cuMemSetMemPool(cylocation_ptr, cytypename, 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, 29202, __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, 29202, __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, 29202, __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, 29202, __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, 29202, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29141
 *     return (_dict_CUresult[err], pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetMemPool(location : Optional[CUmemLocation], typename not None : CUmemAllocationType, pool):
 *     """ Sets the current memory pool for a memory location and allocation type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemSetMemPool", __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":29204
 *     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_377cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_376cuMemAllocFromPoolAsync, "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_377cuMemAllocFromPoolAsync = {"cuMemAllocFromPoolAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_377cuMemAllocFromPoolAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_376cuMemAllocFromPoolAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_377cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#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, 29204, __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, 29204, __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, 29204, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29204, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29204, __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, 29204, __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, 29204, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29204, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29204, __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, 29205, __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, 29204, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_376cuMemAllocFromPoolAsync(__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_376cuMemAllocFromPoolAsync(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemAllocFromPoolAsync", 0);

  /* "cuda/bindings/driver.pyx":29238
 *     """
 *     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":29239
 *     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":29238
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29240
 *     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":29241
 *         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, 29241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29240
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29243
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUmemoryPool cypool
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29243, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29244
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29244, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29246
 *     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":29247
 *     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":29246
 *     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":29248
 *     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":29249
 *         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, 29249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29248
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29251
 *         ppool = int(pool)
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pool};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29251, __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, 29251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29252
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *     cypool = <cydriver.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29252, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29253
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29253, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":29254
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29255
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29255, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29254
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29256
 *     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":29257
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29257, __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, 29257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 29257, __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, 29257, __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, 29257, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29256
 *     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":29258
 *     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, 29258, __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, 29258, __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, 29258, __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, 29258, __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, 29258, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_dptr)) != (0)) __PYX_ERR(0, 29258, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29204
 *     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_7);
  __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":29260
 *     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_379cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_378cuMemPoolExportToShareableHandle, "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_379cuMemPoolExportToShareableHandle = {"cuMemPoolExportToShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_379cuMemPoolExportToShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_378cuMemPoolExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_379cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29260, __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, 29260, __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, 29260, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29260, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29260, __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, 29260, __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, 29260, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29260, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29260, __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, 29261, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 29260, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 29261, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_378cuMemPoolExportToShareableHandle(__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_378cuMemPoolExportToShareableHandle(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmemAllocationHandleType __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("cuMemPoolExportToShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":29298
 *     """
 *     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":29299
 *     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":29298
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29300
 *     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":29301
 *         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, 29301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29300
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29303
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29303, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29304
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29304, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29305
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handleType};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29305, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyhandle_out = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":29306
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyhandle_out), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyhandle_out_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29307
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyhandleType = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":29308
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29309
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportToShareableHandle(__pyx_v_cyhandle_out_ptr, __pyx_v_cypool, __pyx_v_cyhandleType, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29309, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29308
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29310
 *     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":29311
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29311, __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, 29311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 29311, __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, 29311, __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, 29311, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29310
 *     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":29312
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29312, __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, 29312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_v_cyhandle_out);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __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, 29312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29312, __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, 29312, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 29312, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29260
 *     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_8);
  __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":29314
 *     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_381cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_380cuMemPoolImportFromShareableHandle, "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_381cuMemPoolImportFromShareableHandle = {"cuMemPoolImportFromShareableHandle", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_381cuMemPoolImportFromShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_380cuMemPoolImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_381cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29314, __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, 29314, __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, 29314, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29314, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29314, __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, 29314, __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, 29314, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29314, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29314, __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, 29315, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 29314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 29315, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_380cuMemPoolImportFromShareableHandle(__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_380cuMemPoolImportFromShareableHandle(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;
  size_t __pyx_t_3;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_4;
  CUmemAllocationHandleType __pyx_t_5;
  CUresult __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolImportFromShareableHandle", 0);

  /* "cuda/bindings/driver.pyx":29350
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29350, __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":29351
 *     """
 *     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_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_handle};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29351, __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":29352
 *     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, 29352, __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, 29352, __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_4));

  /* "cuda/bindings/driver.pyx":29353
 *     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, 29353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyLong_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 29353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyhandleType = __pyx_t_5;

  /* "cuda/bindings/driver.pyx":29354
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29355
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29355, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29354
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29356
 *     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_7 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_7) {

    /* "cuda/bindings/driver.pyx":29357
 *         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, 29357, __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, 29357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 29357, __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, 29357, __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, 29357, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29356
 *     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":29358
 *     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, 29358, __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, 29358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 29358, __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, 29358, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pool_out)) != (0)) __PYX_ERR(0, 29358, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29314
 *     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_8);
  __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":29360
 *     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_383cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_382cuMemPoolExportPointer, "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_383cuMemPoolExportPointer = {"cuMemPoolExportPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_383cuMemPoolExportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_382cuMemPoolExportPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_383cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29360, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 29360, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29360, __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, 29360, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29360, __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, 29360, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_382cuMemPoolExportPointer(__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_382cuMemPoolExportPointer(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPoolExportPointer", 0);

  /* "cuda/bindings/driver.pyx":29386
 *     """
 *     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":29387
 *     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":29386
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29388
 *     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":29389
 *         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, 29389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29388
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29391
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29391, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29392
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *     cyptr = <cydriver.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29392, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29393
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29393, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_shareData_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemPoolPtrExportData *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":29394
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29395
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolExportPointer(((CUmemPoolPtrExportData *)__pyx_v_shareData_out->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cyptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29395, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29394
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29396
 *     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":29397
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29397, __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, 29397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 29397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29397, __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, 29397, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29396
 *     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":29398
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29398, __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, 29398, __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, 29398, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29398, __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, 29398, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_shareData_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_shareData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_shareData_out)) != (0)) __PYX_ERR(0, 29398, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29360
 *     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_7);
  __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":29400
 *     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_385cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_384cuMemPoolImportPointer, "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_385cuMemPoolImportPointer = {"cuMemPoolImportPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_385cuMemPoolImportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_384cuMemPoolImportPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_385cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29400, __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, 29400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29400, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29400, __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, 29400, __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, 29400, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29400, __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, 29400, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 29401, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_384cuMemPoolImportPointer(__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_384cuMemPoolImportPointer(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUmemPoolPtrExportData_st *__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("cuMemPoolImportPointer", 0);

  /* "cuda/bindings/driver.pyx":29435
 *     """
 *     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":29436
 *     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":29435
 *     """
 *     cdef cydriver.CUmemoryPool cypool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29437
 *     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":29438
 *         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, 29438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29437
 *     if pool is None:
 *         ppool = 0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29440
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_pool};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29440, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29441
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29441, __pyx_L1_error)
  __pyx_v_cypool = ((CUmemoryPool)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29442
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29442, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_ptr_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":29443
 *     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_6 = __pyx_v_shareData->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyshareData_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":29444
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29445
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPoolImportPointer(((CUdeviceptr *)__pyx_v_ptr_out->_pvt_ptr), __pyx_v_cypool, __pyx_v_cyshareData_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29445, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29444
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":29446
 *     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":29447
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29447, __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, 29447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 29447, __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, 29447, __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, 29447, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29446
 *     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":29448
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29448, __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, 29448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 29448, __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, 29448, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_ptr_out)) != (0)) __PYX_ERR(0, 29448, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29400
 *     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_8);
  __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":29450
 *     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_387cuMulticastCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_386cuMulticastCreate, "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\n:py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindMem_v2`,\n:py:obj:`~.cuMulticastBindAddr`, or :py:obj:`~.cuMulticastBindAddr_v2`.\nand can be unbound via :py:obj:`~.cuMulticastUnbind`. The total amount\nof memory that can be bound 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:`~.CU""DA_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`\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`\n\n:py:obj:`~.cuMulticastBindAddr_v2`, :py:obj:`~.cuMulticastBindMem_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_387cuMulticastCreate = {"cuMulticastCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_387cuMulticastCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_386cuMulticastCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_387cuMulticastCreate(PyObject *__pyx_self, 
#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, 29450, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 29450, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29450, __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, 29450, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29450, __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, 29450, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 29451, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_386cuMulticastCreate(__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_386cuMulticastCreate(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;
  size_t __pyx_t_3;
  struct CUmulticastObjectProp_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastCreate", 0);

  /* "cuda/bindings/driver.pyx":29502
 *     :py:obj:`~.cuMulticastBindAddr_v2`, :py:obj:`~.cuMulticastBindMem_v2`
 *     """
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29502, __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":29503
 *     """
 *     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_5 = (((PyObject *)__pyx_v_prop) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_prop->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cyprop_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29504
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29505
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastCreate(((CUmemGenericAllocationHandle *)__pyx_v_mcHandle->_pvt_ptr), __pyx_v_cyprop_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29505, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29504
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":29506
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":29507
 *         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, 29507, __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, 29507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 29507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 29507, __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, 29507, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":29506
 *     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":29508
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29508, __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, 29508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29508, __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, 29508, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mcHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mcHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_mcHandle)) != (0)) __PYX_ERR(0, 29508, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29450
 *     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_7);
  __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":29510
 *     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_389cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_388cuMulticastAddDevice, "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`, :py:obj:`~.cuMulticastBindMem_v2`,\n:py:obj:`~.cuMulticastBindAddr`, or :py:obj:`~.cuMulticastBindAddr_v2`\nwill block until all devices have been added. Similarly all devices\nmust be added to the multicast team before a virtual address range can\nbe mapped 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_389cuMulticastAddDevice = {"cuMulticastAddDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_389cuMulticastAddDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_388cuMulticastAddDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_389cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29510, __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, 29510, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29510, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29510, __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, 29510, __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, 29510, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29510, __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, 29510, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_388cuMulticastAddDevice(__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_388cuMulticastAddDevice(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;
  size_t __pyx_t_4;
  CUdevice __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("cuMulticastAddDevice", 0);

  /* "cuda/bindings/driver.pyx":29545
 *     """
 *     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":29546
 *     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":29545
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29547
 *     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":29548
 *         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, 29548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29547
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29550
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29550, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29551
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29551, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":29553
 *     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":29554
 *     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":29553
 *     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":29555
 *     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":29556
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29555
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29558
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29558, __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, 29558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29559
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
*/
  __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, 29559, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29560
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29561
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastAddDevice(__pyx_v_cymcHandle, __pyx_v_cydev); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29561, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29560
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29562
 *     with nogil:
 *         err = cydriver.cuMulticastAddDevice(cymcHandle, cydev)
 *     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, 29562, __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, 29562, __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, 29562, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29562, __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, 29562, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29510
 *     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_8);
  __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":29564
 *     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_391cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_390cuMulticastBindMem, "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`\n\n:py:obj:`~.cuMulticastBindMem_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_391cuMulticastBindMem = {"cuMulticastBindMem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_391cuMulticastBindMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_390cuMulticastBindMem};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_391cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29564, __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, 29564, __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, 29564, __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, 29564, __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, 29564, __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, 29564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29564, __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, 29564, __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, 29564, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29564, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29564, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29564, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29564, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 29564, __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, 29565, __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, 29565, __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, 29565, __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, 29565, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 29564, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_390cuMulticastBindMem(__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_390cuMulticastBindMem(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastBindMem", 0);

  /* "cuda/bindings/driver.pyx":29624
 *     """
 *     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":29625
 *     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":29624
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29626
 *     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":29627
 *         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, 29627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29626
 *     if memHandle is None:
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29629
 *         pmemHandle = int(memHandle)
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29629, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29630
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29630, __pyx_L1_error)
  __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29632
 *     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":29633
 *     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":29632
 *     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":29634
 *     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":29635
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29634
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29637
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29637, __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, 29637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29638
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29638, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29639
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29640
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem(cymcHandle, mcOffset, cymemHandle, memOffset, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29640, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29639
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29641
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29641, __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, 29641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 29641, __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, 29641, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29564
 *     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_7);
  __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":29643
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem_v2(mcHandle, dev, 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_393cuMulticastBindMem_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_392cuMulticastBindMem_v2, "cuMulticastBindMem_v2(mcHandle, dev, 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 binding will be\napplicable for the device `dev`. The intended `size` of the bind, the\noffset in the multicast range `mcOffset` as well as the offset in the\nmemory `memOffset` 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 `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`. For device memory, i.e.,\ntype :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, the memory allocation\nmust have been created on the device specified by `dev`. For host NUMA\nmemory, i.e., type :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, the\nmemory allocation must have been created on the CPU NUMA node closest\nto `dev`. That is, the value returned when querying\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID` for `dev`, must be the CPU\nNUMA node where the memory was allocated. In both cases, the device\nnamed by `dev` must have been added to the multicast team via\n:py:obj:`~.cuMulticastAddDevice`. Externally shareable as well as\nimported multicast object""s 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.\ndev : :py:obj:`~.CUdevice`\n    The device that for which the multicast memory binding will be\n    applicable.\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_393cuMulticastBindMem_v2 = {"cuMulticastBindMem_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_393cuMulticastBindMem_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_392cuMulticastBindMem_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_393cuMulticastBindMem_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_mcHandle = 0;
  PyObject *__pyx_v_dev = 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[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("cuMulticastBindMem_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_mcHandle,&__pyx_mstate_global->__pyx_n_u_dev,&__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, 29643, __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, 29643, __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, 29643, __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, 29643, __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, 29643, __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, 29643, __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, 29643, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29643, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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_v2", 0) < (0)) __PYX_ERR(0, 29643, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 7; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem_v2", 1, 7, 7, i); __PYX_ERR(0, 29643, __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, 29643, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29643, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29643, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29643, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29643, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 29643, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 29643, __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, 29644, __pyx_L3_error)
    __pyx_v_memHandle = values[3];
    __pyx_v_memOffset = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_memOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29644, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[5]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29644, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[6]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29644, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem_v2", 1, 7, 7, __pyx_nargs); __PYX_ERR(0, 29643, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_392cuMulticastBindMem_v2(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev, __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_392cuMulticastBindMem_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, 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;
  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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuMulticastBindMem_v2", 0);

  /* "cuda/bindings/driver.pyx":29714
 *     """
 *     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":29715
 *     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":29714
 *     """
 *     cdef cydriver.CUmemGenericAllocationHandle cymemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29716
 *     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":29717
 *         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, 29717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29716
 *     if memHandle is None:
 *         pmemHandle = 0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29719
 *         pmemHandle = int(memHandle)
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29719, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29720
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29720, __pyx_L1_error)
  __pyx_v_cymemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29722
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     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":29723
 *     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":29722
 *     cymemHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29724
 *     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":29725
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29724
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29727
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29727, __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, 29727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29728
 *     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, 29728, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":29730
 *     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":29731
 *     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":29730
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29732
 *     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":29733
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29732
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29735
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mcHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29735, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":29736
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem_v2(cymcHandle, cydev, mcOffset, cymemHandle, memOffset, size, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29736, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29737
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindMem_v2(cymcHandle, cydev, mcOffset, cymemHandle, memOffset, size, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29738
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem_v2(cymcHandle, cydev, mcOffset, cymemHandle, memOffset, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindMem_v2(__pyx_v_cymcHandle, __pyx_v_cydev, __pyx_v_mcOffset, __pyx_v_cymemHandle, __pyx_v_memOffset, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29738, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29737
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindMem_v2(cymcHandle, cydev, mcOffset, cymemHandle, memOffset, size, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":29739
 *     with nogil:
 *         err = cydriver.cuMulticastBindMem_v2(cymcHandle, cydev, 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, 29739, __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, 29739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 29739, __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, 29739, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29643
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem_v2(mcHandle, dev, 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_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindMem_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemHandle);
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29741
 *     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_395cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_394cuMulticastBindAddr, "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`\n\n:py:obj:`~.cuMulticastBindAddr_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_395cuMulticastBindAddr = {"cuMulticastBindAddr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_395cuMulticastBindAddr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_394cuMulticastBindAddr};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_395cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29741, __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, 29741, __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, 29741, __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, 29741, __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, 29741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29741, __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, 29741, __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, 29741, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29741, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29741, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29741, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29741, __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, 29742, __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, 29742, __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, 29742, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 29741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_394cuMulticastBindAddr(__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_394cuMulticastBindAddr(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMulticastBindAddr", 0);

  /* "cuda/bindings/driver.pyx":29797
 *     """
 *     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":29798
 *     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":29797
 *     """
 *     cdef cydriver.CUdeviceptr cymemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29799
 *     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":29800
 *         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, 29800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29799
 *     if memptr is None:
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29802
 *         pmemptr = int(memptr)
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))             # <<<<<<<<<<<<<<
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29802, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29803
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29803, __pyx_L1_error)
  __pyx_v_cymemptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29805
 *     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":29806
 *     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":29805
 *     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":29807
 *     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":29808
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29807
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29810
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29810, __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, 29810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29811
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29811, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29812
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29813
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr(cymcHandle, mcOffset, cymemptr, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29813, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":29812
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29814
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29814, __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, 29814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 29814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 29814, __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, 29814, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29741
 *     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_7);
  __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":29816
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr_v2(mcHandle, dev, 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_397cuMulticastBindAddr_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_396cuMulticastBindAddr_v2, "cuMulticastBindAddr_v2(mcHandle, dev, 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 binding will be\napplicable for the device `dev`. The memory must have been allocated\nvia :py:obj:`~.cuMemCreate` or :py:obj:`~.cudaMallocAsync`. The\nintended `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. For device memory, i.e., type\n:py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, the memory allocation must\nhave been created on the device specified by `dev`. For host NUMA\nmemory, i.e., type :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, the\nmemory allocation must have been created on the CPU NUMA node closest\nto `dev`. That is, the value returned when querying\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID` for `dev`, must be the CPU\nNUMA node where the memory was allocated. In both cases, the device\nnamed by `dev` must have been 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.\ndev : :py:obj:`~.CUdevice`\n    The device that for which the multicast memory binding will be\n    applicable.\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_397cuMulticastBindAddr_v2 = {"cuMulticastBindAddr_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_397cuMulticastBindAddr_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_396cuMulticastBindAddr_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_397cuMulticastBindAddr_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_mcHandle = 0;
  PyObject *__pyx_v_dev = 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[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("cuMulticastBindAddr_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_mcHandle,&__pyx_mstate_global->__pyx_n_u_dev,&__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, 29816, __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, 29816, __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, 29816, __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, 29816, __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, 29816, __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, 29816, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29816, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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_v2", 0) < (0)) __PYX_ERR(0, 29816, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr_v2", 1, 6, 6, i); __PYX_ERR(0, 29816, __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, 29816, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29816, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29816, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29816, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 29816, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 29816, __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, 29817, __pyx_L3_error)
    __pyx_v_memptr = values[3];
    __pyx_v_size = __Pyx_PyLong_As_size_t(values[4]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 29817, __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, 29817, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr_v2", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 29816, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_396cuMulticastBindAddr_v2(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev, __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_396cuMulticastBindAddr_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev, 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;
  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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuMulticastBindAddr_v2", 0);

  /* "cuda/bindings/driver.pyx":29881
 *     """
 *     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":29882
 *     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":29881
 *     """
 *     cdef cydriver.CUdeviceptr cymemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29883
 *     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":29884
 *         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, 29884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29883
 *     if memptr is None:
 *         pmemptr = 0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29886
 *         pmemptr = int(memptr)
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))             # <<<<<<<<<<<<<<
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_memptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29886, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29887
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmemptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29887, __pyx_L1_error)
  __pyx_v_cymemptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29889
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     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":29890
 *     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":29889
 *     cymemptr = <cydriver.CUdeviceptr><void_ptr>pmemptr
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29891
 *     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":29892
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29891
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29894
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29894, __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, 29894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29895
 *     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, 29895, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_6);

  /* "cuda/bindings/driver.pyx":29897
 *     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":29898
 *     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":29897
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29899
 *     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":29900
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29899
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":29902
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_mcHandle};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29902, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":29903
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr_v2(cymcHandle, cydev, mcOffset, cymemptr, size, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 29903, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":29904
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindAddr_v2(cymcHandle, cydev, mcOffset, cymemptr, size, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29905
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr_v2(cymcHandle, cydev, mcOffset, cymemptr, size, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastBindAddr_v2(__pyx_v_cymcHandle, __pyx_v_cydev, __pyx_v_mcOffset, __pyx_v_cymemptr, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29905, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29904
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMulticastBindAddr_v2(cymcHandle, cydev, mcOffset, cymemptr, size, flags)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":29906
 *     with nogil:
 *         err = cydriver.cuMulticastBindAddr_v2(cymcHandle, cydev, 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, 29906, __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, 29906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 29906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 29906, __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, 29906, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29816
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr_v2(mcHandle, dev, 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_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMulticastBindAddr_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemptr);
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_pmcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":29908
 *     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_399cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_398cuMulticastUnbind, "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\n:py:obj:`~.cuMulticastBindMem_v2`, :py:obj:`~.cuMulticastBindAddr_v2`\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_399cuMulticastUnbind = {"cuMulticastUnbind", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_399cuMulticastUnbind, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_398cuMulticastUnbind};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_399cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_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, 29908, __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, 29908, __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, 29908, __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, 29908, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29908, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29908, __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, 29908, __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, 29908, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29908, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 29908, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 29908, __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, 29909, __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, 29909, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 29908, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_398cuMulticastUnbind(__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_398cuMulticastUnbind(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;
  size_t __pyx_t_4;
  CUdevice __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("cuMulticastUnbind", 0);

  /* "cuda/bindings/driver.pyx":29947
 *     """
 *     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":29948
 *     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":29947
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29949
 *     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":29950
 *         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, 29950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":29949
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":29952
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29952, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":29953
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemGenericAllocationHandle cymcHandle
 *     if mcHandle is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 29953, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":29955
 *     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":29956
 *     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":29955
 *     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":29957
 *     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":29958
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":29957
 *     if mcHandle is None:
 *         pmcHandle = 0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":29960
 *         pmcHandle = int(mcHandle)
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_mcHandle};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29960, __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, 29960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmcHandle = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":29961
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
*/
  __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, 29961, __pyx_L1_error)
  __pyx_v_cymcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":29962
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29963
 *     cymcHandle = <cydriver.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMulticastUnbind(__pyx_v_cymcHandle, __pyx_v_cydev, __pyx_v_mcOffset, __pyx_v_size); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29963, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":29962
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":29964
 *     with nogil:
 *         err = cydriver.cuMulticastUnbind(cymcHandle, cydev, mcOffset, size)
 *     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, 29964, __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, 29964, __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, 29964, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29964, __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, 29964, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":29908
 *     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_8);
  __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":29966
 *     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_401cuMulticastGetGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_400cuMulticastGetGranularity, "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`\n\n:py:obj:`~.cuMulticastBindMem_v2`, :py:obj:`~.cuMulticastBindAddr_v2`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_401cuMulticastGetGranularity = {"cuMulticastGetGranularity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_401cuMulticastGetGranularity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_400cuMulticastGetGranularity};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_401cuMulticastGetGranularity(PyObject *__pyx_self, 
#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, 29966, __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, 29966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 29966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 29966, __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, 29966, __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, 29966, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 29966, __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, 29966, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 29967, __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, 29967, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_400cuMulticastGetGranularity(__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_400cuMulticastGetGranularity(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":29995
 *     :py:obj:`~.cuMulticastBindMem_v2`, :py:obj:`~.cuMulticastBindAddr_v2`
 *     """
 *     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":29996
 *     """
 *     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":29997
 *     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, 29997, __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, 29997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoption = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":29998
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":29999
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 29999, __pyx_L4_error)
        __pyx_v_err = __pyx_t_5;
      }

      /* "cuda/bindings/driver.pyx":29998
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":30000
 *     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":30001
 *         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, 30001, __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, 30001, __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, 30001, __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, 30001, __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, 30001, __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, 30001, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30000
 *     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":30002
 *     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, 30002, __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, 30002, __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, 30002, __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, 30002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30002, __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, 30002, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 30002, __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":29966
 *     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":30004
 *     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_403cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_402cuPointerGetAttribute, "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_403cuPointerGetAttribute = {"cuPointerGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_403cuPointerGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_402cuPointerGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_403cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 30004, __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, 30004, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30004, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 30004, __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, 30004, __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, 30004, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30004, __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, 30004, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 30005, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_402cuPointerGetAttribute(__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_402cuPointerGetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  CUpointer_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuPointerGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":30198
 *     """
 *     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":30199
 *     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":30198
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30200
 *     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":30201
 *         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, 30201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30200
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30203
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30203, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30204
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30204, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30205
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attribute, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30205, __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, 30205, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30205, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cydata = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":30206
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cydata_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30207
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattribute = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":30208
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30209
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttribute(__pyx_v_cydata_ptr, __pyx_v_cyattribute, __pyx_v_cyptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30209, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":30208
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30210
 *     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":30211
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30211, __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, 30211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __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, 30211, __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, 30211, __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, 30211, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":30210
 *     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":30212
 *     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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30212, __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, 30212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = ((PyObject *)__pyx_v_cydata);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __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, 30212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30212, __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, 30212, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 30212, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30004
 *     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_6);
  __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":30214
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(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_405cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_404cuMemPrefetchAsync, "cuMemPrefetchAsync(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`, via :py:obj:`~.cuMemAllocFromPool` from\na managed memory pool 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 be""fore\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 func""tion 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\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:`~.cudaMemPrefetchAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_405cuMemPrefetchAsync = {"cuMemPrefetchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_405cuMemPrefetchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_404cuMemPrefetchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_405cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 30214, __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, 30214, __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, 30214, __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, 30214, __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, 30214, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30214, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 30214, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 5, 5, i); __PYX_ERR(0, 30214, __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, 30214, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30214, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30214, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30214, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30214, __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, 30215, __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, 30215, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 30214, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation, 0, "location", 0))) __PYX_ERR(0, 30215, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_404cuMemPrefetchAsync(__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_404cuMemPrefetchAsync(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync", 0);

  /* "cuda/bindings/driver.pyx":30315
 *     """
 *     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":30316
 *     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":30315
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30317
 *     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":30318
 *         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, 30318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30317
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30320
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUdeviceptr cydevPtr
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30320, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30321
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30321, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30323
 *     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":30324
 *     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":30323
 *     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":30325
 *     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":30326
 *         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, 30326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":30325
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":30328
 *         pdevPtr = int(devPtr)
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_devPtr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30328, __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, 30328, __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_L4:;

  /* "cuda/bindings/driver.pyx":30329
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30329, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30330
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30331
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchAsync(__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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30331, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":30330
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, location._pvt_ptr[0], flags, cyhStream)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":30332
 *     with nogil:
 *         err = cydriver.cuMemPrefetchAsync(cydevPtr, count, location._pvt_ptr[0], flags, 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, 30332, __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, 30332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 30332, __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, 30332, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30214
 *     return (_dict_CUresult[err], cydata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(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_7);
  __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_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30334
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(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_407cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_406cuMemAdvise, "cuMemAdvise(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` is called on this\n  region, it will create a read-only copy of the data on the\n  destination processor. If the target location for\n  :py:obj:`~.cuMemPrefetchAsync` is a host NUMA node and a read-only\n  copy already exists on another host NUMA node, that copy will be\n  migrated to the targeted host NUMA node. If any processor writes to\n  this region, all copies of the corresponding page will be invalidated\n  except for the one where the write occurred. If the writing processor\n  is the CPU and the preferred location of the page is a host NUMA\n  node, then the page will also be migrated to that host NUMA node. The\n  `location` argument is ignored for this advice. Note that for a pag""e\n  to be read-duplicated, the accessing processor must either be the CPU\n  or a GPU that has a non-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. 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  mu""st 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 associated with that\n  advice will override the p""olicies 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 occasionally accessed\n  by peer GPUs. In such scena""rios, 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 device in\n  :py:obj:`~.CUmemLocation.id` must h""ave 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:`~.cudaMemAdvise`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_407cuMemAdvise = {"cuMemAdvise", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_407cuMemAdvise, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_406cuMemAdvise};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_407cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 30334, __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, 30334, __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, 30334, __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, 30334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 30334, __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, 30334, __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, 30334, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30334, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30334, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30334, __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, 30335, __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", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 30334, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 30335, __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, 30335, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_406cuMemAdvise(__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_406cuMemAdvise(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUmem_advise __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("cuMemAdvise", 0);

  /* "cuda/bindings/driver.pyx":30524
 *     """
 *     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":30525
 *     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":30524
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30526
 *     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":30527
 *         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, 30527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30526
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30529
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30529, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30530
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30530, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30531
 *         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, location._pvt_ptr[0])
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUmem_advise_enum)__Pyx_PyLong_As_enum__CUmem_advise_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyadvice = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":30532
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30533
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, location._pvt_ptr[0])             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuMemAdvise(__pyx_v_cydevPtr, __pyx_v_count, __pyx_v_cyadvice, (__pyx_v_location->__pyx_base.__pyx_base._pvt_ptr[0])); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30533, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":30532
 *     cydevPtr = <cydriver.CUdeviceptr><void_ptr>pdevPtr
 *     cdef cydriver.CUmem_advise cyadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":30534
 *     with nogil:
 *         err = cydriver.cuMemAdvise(cydevPtr, count, cyadvice, location._pvt_ptr[0])
 *     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, 30534, __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, 30534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 30534, __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, 30534, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30334
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(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_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemAdvise", __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":30536
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory prefetches asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_409cuMemPrefetchBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_408cuMemPrefetchBatchAsync, "cuMemPrefetchBatchAsync(dptrs: Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes: tuple[int] | list[int], size_t count, prefetchLocs: Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs: tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream)\n\nPerforms a batch of memory prefetches asynchronously.\n\nPerforms a batch of memory prefetches. The batch as a whole executes in\nstream order but operations within a batch are not guaranteed to\nexecute in any specific order. All devices in the system must have a\nnon-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` otherwise the\nAPI will return an error.\n\nThe semantics of the individual prefetch operations are as described in\n:py:obj:`~.cuMemPrefetchAsync`.\n\nPerforms memory prefetch on address ranges specified in `dptrs` and\n`sizes`. Both arrays must be of the same length as specified by\n`count`. Each memory range specified must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables or it may also refer to system-allocated memory when all\ndevices have a non-zero value for\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. The prefetch\nlocation for every operation in the batch is specified in the\n`prefetchLocs` array. Each entry in this array can apply to more than\none operation. This can be done by specifying in the `prefetchLocIdxs`\narray, the index of the first prefetch operation that the corresponding\nentry in the `prefetchLocs` array applies to. Both `prefetchLocs` and\n`prefetchLocIdxs` must be of the same length as specified by\n`numPrefetchLocs`. For example, if a batch has 10 prefetches listed in\ndptrs/sizes, the first 4 of which are to be prefetched to one location\nand the remaining 6 are to be prefetched to another, then\n`numPrefetchLocs` will be 2, `prefetchLocIdxs` will be {0, 4} and\n`prefetchLocs` will contain the two locations. Note the first"" entry in\n`prefetchLocIdxs` must always be 0. Also, each entry must be greater\nthan the previous entry and the last entry should be less than `count`.\nFurthermore, `numPrefetchLocs` must be lesser than or equal to `count`.\n\nParameters\n----------\ndptrs : list[:py:obj:`~.CUdeviceptr`]\n    Array of pointers to be prefetched\nsizes : list[int]\n    Array of sizes for memory prefetch operations.\ncount : size_t\n    Size of `dptrs` and `sizes` arrays.\nprefetchLocs : list[:py:obj:`~.CUmemLocation`]\n    Array of locations to prefetch to.\nprefetchLocIdxs : list[int]\n    Array of indices to specify which operands each entry in the\n    `prefetchLocs` array applies to. The locations specified in\n    prefetchLocs[k] will be applied to copies starting from\n    prefetchLocIdxs[k] through prefetchLocIdxs[k+1] - 1. Also\n    prefetchLocs[numPrefetchLocs - 1] will apply to prefetches starting\n    from prefetchLocIdxs[numPrefetchLocs - 1] through count - 1.\nnumPrefetchLocs : size_t\n    Size of `prefetchLocs` and `prefetchLocIdxs` arrays.\nflags : unsigned long long\n    Flags reserved for future use. Must be zero.\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");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_409cuMemPrefetchBatchAsync = {"cuMemPrefetchBatchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_409cuMemPrefetchBatchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_408cuMemPrefetchBatchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_409cuMemPrefetchBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptrs = 0;
  PyObject *__pyx_v_sizes = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_prefetchLocs = 0;
  PyObject *__pyx_v_prefetchLocIdxs = 0;
  size_t __pyx_v_numPrefetchLocs;
  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[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("cuMemPrefetchBatchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptrs,&__pyx_mstate_global->__pyx_n_u_sizes,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_prefetchLocs,&__pyx_mstate_global->__pyx_n_u_prefetchLocIdxs,&__pyx_mstate_global->__pyx_n_u_numPrefetchLocs,&__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, 30536, __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, 30536, __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, 30536, __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, 30536, __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, 30536, __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, 30536, __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, 30536, __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, 30536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemPrefetchBatchAsync", 0) < (0)) __PYX_ERR(0, 30536, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 8; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemPrefetchBatchAsync", 1, 8, 8, i); __PYX_ERR(0, 30536, __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, 30536, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 30536, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 30536, __pyx_L3_error)
    }
    __pyx_v_dptrs = values[0];
    __pyx_v_sizes = 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, 30537, __pyx_L3_error)
    __pyx_v_prefetchLocs = values[3];
    __pyx_v_prefetchLocIdxs = values[4];
    __pyx_v_numPrefetchLocs = __Pyx_PyLong_As_size_t(values[5]); if (unlikely((__pyx_v_numPrefetchLocs == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30537, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[6]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30537, __pyx_L3_error)
    __pyx_v_hStream = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchBatchAsync", 1, 8, 8, __pyx_nargs); __PYX_ERR(0, 30536, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_408cuMemPrefetchBatchAsync(__pyx_self, __pyx_v_dptrs, __pyx_v_sizes, __pyx_v_count, __pyx_v_prefetchLocs, __pyx_v_prefetchLocIdxs, __pyx_v_numPrefetchLocs, __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_23cuMemPrefetchBatchAsync_2generator138(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30610
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_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, 30610, __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_23cuMemPrefetchBatchAsync_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_cuMemPrefetchBatchAsync_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30610, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync.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_23cuMemPrefetchBatchAsync_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, 30610, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30610, __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, 30610, __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, 30610, __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, 30610, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30610, __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, 30610, __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, 30610, __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_23cuMemPrefetchBatchAsync_5generator139(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30613
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_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, 30613, __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_23cuMemPrefetchBatchAsync_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_cuMemPrefetchBatchAsync_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30613, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync.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_23cuMemPrefetchBatchAsync_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, 30613, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30613, __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, 30613, __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, 30613, __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, 30613, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30613, __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, 30613, __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, 30613, __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_CUmemLocation); 
    __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_23cuMemPrefetchBatchAsync_8generator140(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30615
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_6genexpr(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, 30615, __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_23cuMemPrefetchBatchAsync_8generator140, ((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_cuMemPrefetchBatchAsync_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30615, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync.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_23cuMemPrefetchBatchAsync_8generator140(__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, 30615, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30615, __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, 30615, __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, 30615, __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, 30615, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30615, __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, 30615, __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, 30615, __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_23cuMemPrefetchBatchAsync_11generator141(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30618
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_9genexpr(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, 30618, __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_23cuMemPrefetchBatchAsync_11generator141, ((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_cuMemPrefetchBatchAsync_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30618, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync.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_23cuMemPrefetchBatchAsync_11generator141(__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, 30618, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30618, __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, 30618, __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, 30618, __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, 30618, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30618, __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, 30618, __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, 30618, __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":30536
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory prefetches asynchronously.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_408cuMemPrefetchBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_prefetchLocs, PyObject *__pyx_v_prefetchLocIdxs, size_t __pyx_v_numPrefetchLocs, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr *__pyx_v_cydptrs;
  Py_ssize_t __pyx_v_idx;
  std::vector<size_t>  __pyx_v_cysizes;
  CUmemLocation *__pyx_v_cyprefetchLocs;
  std::vector<size_t>  __pyx_v_cyprefetchLocIdxs;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_2generator138 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_5generator139 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_8generator140 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_11generator141 = 0;
  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;
  int __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;
  std::vector<size_t>  __pyx_t_13;
  struct CUmemLocation_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemPrefetchBatchAsync", 0);
  __Pyx_INCREF(__pyx_v_dptrs);
  __Pyx_INCREF(__pyx_v_prefetchLocs);

  /* "cuda/bindings/driver.pyx":30603
 *     """
 *     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":30604
 *     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":30603
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30605
 *     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":30606
 *         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, 30606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30605
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30608
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30608, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30609
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30609, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30610
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_genexpr(NULL, __pyx_v_prefetchLocIdxs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 30610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":30611
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_prefetchLocIdxs_is_not};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30611, __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, 30611, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30610
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
  }

  /* "cuda/bindings/driver.pyx":30612
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
*/
  __pyx_t_6 = (__pyx_v_prefetchLocs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_prefetchLocs);
    __pyx_t_2 = __pyx_v_prefetchLocs;
  }
  __Pyx_DECREF_SET(__pyx_v_prefetchLocs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30613
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_3genexpr(NULL, __pyx_v_prefetchLocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30613, __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, 30613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 30613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30614
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")             # <<<<<<<<<<<<<<
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_prefetchLocs_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30614, __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, 30614, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30613
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  }

  /* "cuda/bindings/driver.pyx":30615
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_6genexpr(NULL, __pyx_v_sizes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 30615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":30616
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")             # <<<<<<<<<<<<<<
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_sizes_is_not_instance_o};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30616, __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, 30616, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30615
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  }

  /* "cuda/bindings/driver.pyx":30617
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
*/
  __pyx_t_6 = (__pyx_v_dptrs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dptrs);
    __pyx_t_2 = __pyx_v_dptrs;
  }
  __Pyx_DECREF_SET(__pyx_v_dptrs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30618
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_9genexpr(NULL, __pyx_v_dptrs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30618, __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, 30618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 30618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30619
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_dptrs_is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30619, __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, 30619, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30618
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":30620
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
*/
  __pyx_v_cydptrs = NULL;

  /* "cuda/bindings/driver.pyx":30621
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30621, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30622
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))             # <<<<<<<<<<<<<<
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30622, __pyx_L1_error)
    __pyx_v_cydptrs = ((CUdeviceptr *)calloc(__pyx_t_7, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":30623
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    __pyx_t_1 = (__pyx_v_cydptrs == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":30624
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dptrs)):
*/
      __pyx_t_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30624, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30624, __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, 30624, __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, 30624, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30624, __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(CUdeviceptr))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30624, __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, 30624, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30624, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30624, __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, 30624, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":30623
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":30626
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
 *             for idx in range(len(dptrs)):             # <<<<<<<<<<<<<<
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
*/
    /*else*/ {
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30626, __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":30627
 *         else:
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30627, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydptrs[__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":30621
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":30628
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30628, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30629
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydptrs = ((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":30628
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":30630
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
*/
  __pyx_t_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_sizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30630, __pyx_L1_error)
  __pyx_v_cysizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30631
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30631, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30631, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30631, __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, 30631, __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, 30631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30631, __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, 30631, __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, 30631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30631, __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, 30631, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30632
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30632, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30632, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30632, __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, 30632, __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, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30632, __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, 30632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30632, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30632, __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, 30632, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30633
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL             # <<<<<<<<<<<<<<
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
*/
  __pyx_v_cyprefetchLocs = NULL;

  /* "cuda/bindings/driver.pyx":30634
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30634, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30635
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))             # <<<<<<<<<<<<<<
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30635, __pyx_L1_error)
    __pyx_v_cyprefetchLocs = ((CUmemLocation *)calloc(__pyx_t_7, (sizeof(CUmemLocation))));

    /* "cuda/bindings/driver.pyx":30636
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
*/
    __pyx_t_1 = (__pyx_v_cyprefetchLocs == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":30637
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
*/
      __pyx_t_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30637, __pyx_L1_error)
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30637, __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, 30637, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUmemLocation))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30637, __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, 30637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30637, __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, 30637, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":30636
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
*/
    }

    /* "cuda/bindings/driver.pyx":30638
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30638, __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":30639
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))             # <<<<<<<<<<<<<<
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prefetchLocs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyprefetchLocs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemLocation))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":30634
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
*/
    goto __pyx_L14;
  }

  /* "cuda/bindings/driver.pyx":30640
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30640, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30641
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prefetchLocs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyprefetchLocs = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":30640
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
*/
  }
  __pyx_L14:;

  /* "cuda/bindings/driver.pyx":30642
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs             # <<<<<<<<<<<<<<
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
*/
  __pyx_t_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_prefetchLocIdxs); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30642, __pyx_L1_error)
  __pyx_v_cyprefetchLocIdxs = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30643
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))             # <<<<<<<<<<<<<<
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30643, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numPrefetchLocs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30643, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30643, __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, 30643, __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, 30643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numPrefetchLocs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30643, __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, 30643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30643, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30643, __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, 30643, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30644
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30644, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numPrefetchLocs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30644, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30644, __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, 30644, __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, 30644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30644, __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_numPrefetchLocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30644, __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, 30644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30644, __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, 30644, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30645
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30646
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemPrefetchBatchAsync(__pyx_v_cydptrs, __pyx_v_cysizes.data(), __pyx_v_count, __pyx_v_cyprefetchLocs, __pyx_v_cyprefetchLocIdxs.data(), __pyx_v_numPrefetchLocs, __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_15 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30646, __pyx_L21_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":30645
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L22;
        }
        __pyx_L21_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L22:;
      }
  }

  /* "cuda/bindings/driver.pyx":30647
 *     with nogil:
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30647, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L24_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cydptrs != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L24_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30648
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)             # <<<<<<<<<<<<<<
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)
*/
    free(__pyx_v_cydptrs);

    /* "cuda/bindings/driver.pyx":30647
 *     with nogil:
 *         err = cydriver.cuMemPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":30649
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyprefetchLocs)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30649, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L27_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyprefetchLocs != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L27_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30650
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyprefetchLocs);

    /* "cuda/bindings/driver.pyx":30649
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyprefetchLocs)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":30651
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)
 *     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, 30651, __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, 30651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 30651, __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, 30651, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30536
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory prefetches asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemPrefetchBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_2generator138);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_5generator139);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_8generator140);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemPrefetchBatchAsync_11generator141);
  __Pyx_XDECREF(__pyx_v_dptrs);
  __Pyx_XDECREF(__pyx_v_prefetchLocs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30653
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_411cuMemDiscardBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_410cuMemDiscardBatchAsync, "cuMemDiscardBatchAsync(dptrs: Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes: tuple[int] | list[int], size_t count, unsigned long long flags, hStream)\n\nPerforms a batch of memory discards asynchronously.\n\nPerforms a batch of memory discards. The batch as a whole executes in\nstream order but operations within a batch are not guaranteed to\nexecute in any specific order. All devices in the system must have a\nnon-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` otherwise the\nAPI will return an error.\n\nDiscarding a memory range informs the driver that the contents of that\nrange are no longer useful. Discarding memory ranges allows the driver\nto optimize certain data migrations and can also help reduce memory\npressure. This operation can be undone on any part of the range by\neither writing to it or prefetching it via\n:py:obj:`~.cuMemPrefetchAsync` or :py:obj:`~.cuMemPrefetchBatchAsync`.\nReading from a discarded range, without a subsequent write or prefetch\nto that part of the range, will return an indeterminate value. Note\nthat any reads, writes or prefetches to any part of the memory range\nthat occur simultaneously with the discard operation result in\nundefined behavior.\n\nPerforms memory discard on address ranges specified in `dptrs` and\n`sizes`. Both arrays must be of the same length as specified by\n`count`. Each memory range specified must refer to managed memory\nallocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\nvariables or it may also refer to system-allocated memory when all\ndevices have a non-zero value for\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\nParameters\n----------\ndptrs : list[:py:obj:`~.CUdeviceptr`]\n    Array of pointers to be discarded\nsizes : list[int]\n    Array of sizes for memory discard operations.\ncount : size_t\n    Size of `dptrs` and `sizes` arrays.\nflags : unsigned long long\n    Flags reserved for future use. Must be zero.""\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");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_411cuMemDiscardBatchAsync = {"cuMemDiscardBatchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_411cuMemDiscardBatchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_410cuMemDiscardBatchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_411cuMemDiscardBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptrs = 0;
  PyObject *__pyx_v_sizes = 0;
  size_t __pyx_v_count;
  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[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("cuMemDiscardBatchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptrs,&__pyx_mstate_global->__pyx_n_u_sizes,&__pyx_mstate_global->__pyx_n_u_count_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, 30653, __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, 30653, __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, 30653, __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, 30653, __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, 30653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemDiscardBatchAsync", 0) < (0)) __PYX_ERR(0, 30653, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemDiscardBatchAsync", 1, 5, 5, i); __PYX_ERR(0, 30653, __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, 30653, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30653, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30653, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30653, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30653, __pyx_L3_error)
    }
    __pyx_v_dptrs = values[0];
    __pyx_v_sizes = 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, 30654, __pyx_L3_error)
    __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, 30654, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemDiscardBatchAsync", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 30653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_410cuMemDiscardBatchAsync(__pyx_self, __pyx_v_dptrs, __pyx_v_sizes, __pyx_v_count, __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_22cuMemDiscardBatchAsync_2generator142(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30711
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_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, 30711, __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_22cuMemDiscardBatchAsync_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_cuMemDiscardBatchAsync_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30711, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardBatchAsync.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_22cuMemDiscardBatchAsync_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, 30711, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30711, __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, 30711, __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, 30711, __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, 30711, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30711, __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, 30711, __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, 30711, __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_22cuMemDiscardBatchAsync_5generator143(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30714
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_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, 30714, __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_22cuMemDiscardBatchAsync_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_cuMemDiscardBatchAsync_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30714, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardBatchAsync.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_22cuMemDiscardBatchAsync_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, 30714, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30714, __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, 30714, __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, 30714, __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, 30714, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30714, __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, 30714, __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, 30714, __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":30653
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards asynchronously.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_410cuMemDiscardBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr *__pyx_v_cydptrs;
  Py_ssize_t __pyx_v_idx;
  std::vector<size_t>  __pyx_v_cysizes;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_2generator142 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_5generator143 = 0;
  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;
  int __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;
  std::vector<size_t>  __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemDiscardBatchAsync", 0);
  __Pyx_INCREF(__pyx_v_dptrs);

  /* "cuda/bindings/driver.pyx":30704
 *     """
 *     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":30705
 *     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":30704
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30706
 *     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":30707
 *         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, 30707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30706
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30709
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30709, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30710
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30710, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30711
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_genexpr(NULL, __pyx_v_sizes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 30711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":30712
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     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]")             # <<<<<<<<<<<<<<
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_sizes_is_not_instance_o};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30712, __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, 30712, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30711
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  }

  /* "cuda/bindings/driver.pyx":30713
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
*/
  __pyx_t_6 = (__pyx_v_dptrs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dptrs);
    __pyx_t_2 = __pyx_v_dptrs;
  }
  __Pyx_DECREF_SET(__pyx_v_dptrs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30714
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_3genexpr(NULL, __pyx_v_dptrs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30714, __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, 30714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 30714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30715
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_dptrs_is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30715, __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, 30715, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30714
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":30716
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
*/
  __pyx_v_cydptrs = NULL;

  /* "cuda/bindings/driver.pyx":30717
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30717, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30718
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))             # <<<<<<<<<<<<<<
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30718, __pyx_L1_error)
    __pyx_v_cydptrs = ((CUdeviceptr *)calloc(__pyx_t_7, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":30719
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    __pyx_t_1 = (__pyx_v_cydptrs == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":30720
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dptrs)):
*/
      __pyx_t_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30720, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30720, __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, 30720, __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, 30720, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30720, __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(CUdeviceptr))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30720, __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, 30720, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30720, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30720, __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, 30720, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":30719
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":30722
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
 *             for idx in range(len(dptrs)):             # <<<<<<<<<<<<<<
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
*/
    /*else*/ {
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30722, __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":30723
 *         else:
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30723, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydptrs[__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":30717
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":30724
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30724, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30725
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydptrs = ((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":30724
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  }
  __pyx_L6:;

  /* "cuda/bindings/driver.pyx":30726
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
*/
  __pyx_t_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_sizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30726, __pyx_L1_error)
  __pyx_v_cysizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30727
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30727, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30727, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30727, __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, 30727, __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, 30727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30727, __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, 30727, __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, 30727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30727, __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, 30727, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30728
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30728, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30728, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30728, __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, 30728, __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, 30728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30728, __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, 30728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30728, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30728, __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, 30728, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30729
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30730
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
*/
        __pyx_t_14 = __pyx_f_4cuda_8bindings_8cydriver_cuMemDiscardBatchAsync(__pyx_v_cydptrs, __pyx_v_cysizes.data(), __pyx_v_count, __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30730, __pyx_L13_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":30729
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L14;
        }
        __pyx_L13_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L14:;
      }
  }

  /* "cuda/bindings/driver.pyx":30731
 *     with nogil:
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30731, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L16_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cydptrs != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L16_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30732
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cydptrs);

    /* "cuda/bindings/driver.pyx":30731
 *     with nogil:
 *         err = cydriver.cuMemDiscardBatchAsync(cydptrs, cysizes.data(), count, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":30733
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
 *     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, 30733, __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, 30733, __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, 30733, __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_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 30733, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30653
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_2generator142);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuMemDiscardBatchAsync_5generator143);
  __Pyx_XDECREF(__pyx_v_dptrs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardAndPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards and prefetches asynchronously.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_413cuMemDiscardAndPrefetchBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_412cuMemDiscardAndPrefetchBatchAsync, "cuMemDiscardAndPrefetchBatchAsync(dptrs: Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes: tuple[int] | list[int], size_t count, prefetchLocs: Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs: tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream)\n\nPerforms a batch of memory discards and prefetches asynchronously.\n\nPerforms a batch of memory discards followed by prefetches. The batch\nas a whole executes in stream order but operations within a batch are\nnot guaranteed to execute in any specific order. All devices in the\nsystem must have a non-zero value for the device attribute\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` otherwise the\nAPI will return an error.\n\nCalling :py:obj:`~.cuMemDiscardAndPrefetchBatchAsync` is semantically\nequivalent to calling :py:obj:`~.cuMemDiscardBatchAsync` followed by\n:py:obj:`~.cuMemPrefetchBatchAsync`, but is more optimal. For more\ndetails on what discarding and prefetching imply, please refer to\n:py:obj:`~.cuMemDiscardBatchAsync` and\n:py:obj:`~.cuMemPrefetchBatchAsync` respectively. Note that any reads,\nwrites or prefetches to any part of the memory range that occur\nsimultaneously with this combined discard+prefetch operation result in\nundefined behavior.\n\nPerforms memory discard and prefetch on address ranges specified in\n`dptrs` and `sizes`. Both arrays must be of the same length as\nspecified by `count`. Each memory range specified must refer to managed\nmemory allocated via :py:obj:`~.cuMemAllocManaged` or declared via\nmanaged variables or it may also refer to system-allocated memory when\nall devices have a non-zero value for\n:py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Every operation\nin the batch has to be associated with a valid location to prefetch the\naddress range to and specified in the `prefetchLocs` array. Each entry\nin this array can apply to more than one operation. This can be done by\nspecifying in the `prefetc""hLocIdxs` array, the index of the first\noperation that the corresponding entry in the `prefetchLocs` array\napplies to. Both `prefetchLocs` and `prefetchLocIdxs` must be of the\nsame length as specified by `numPrefetchLocs`. For example, if a batch\nhas 10 operations listed in dptrs/sizes, the first 6 of which are to be\nprefetched to one location and the remaining 4 are to be prefetched to\nanother, then `numPrefetchLocs` will be 2, `prefetchLocIdxs` will be\n{0, 6} and `prefetchLocs` will contain the two set of locations. Note\nthe first entry in `prefetchLocIdxs` must always be 0. Also, each entry\nmust be greater than the previous entry and the last entry should be\nless than `count`. Furthermore, `numPrefetchLocs` must be lesser than\nor equal to `count`.\n\nParameters\n----------\ndptrs : list[:py:obj:`~.CUdeviceptr`]\n    Array of pointers to be discarded\nsizes : list[int]\n    Array of sizes for memory discard operations.\ncount : size_t\n    Size of `dptrs` and `sizes` arrays.\nprefetchLocs : list[:py:obj:`~.CUmemLocation`]\n    Array of locations to prefetch to.\nprefetchLocIdxs : list[int]\n    Array of indices to specify which operands each entry in the\n    `prefetchLocs` array applies to. The locations specified in\n    prefetchLocs[k] will be applied to operations starting from\n    prefetchLocIdxs[k] through prefetchLocIdxs[k+1] - 1. Also\n    prefetchLocs[numPrefetchLocs - 1] will apply to copies starting\n    from prefetchLocIdxs[numPrefetchLocs - 1] through count - 1.\nnumPrefetchLocs : size_t\n    Size of `prefetchLocs` and `prefetchLocIdxs` arrays.\nflags : unsigned long long\n    Flags reserved for future use. Must be zero.\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");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_413cuMemDiscardAndPrefetchBatchAsync = {"cuMemDiscardAndPrefetchBatchAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_413cuMemDiscardAndPrefetchBatchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_412cuMemDiscardAndPrefetchBatchAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_413cuMemDiscardAndPrefetchBatchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dptrs = 0;
  PyObject *__pyx_v_sizes = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_prefetchLocs = 0;
  PyObject *__pyx_v_prefetchLocIdxs = 0;
  size_t __pyx_v_numPrefetchLocs;
  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[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("cuMemDiscardAndPrefetchBatchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dptrs,&__pyx_mstate_global->__pyx_n_u_sizes,&__pyx_mstate_global->__pyx_n_u_count_2,&__pyx_mstate_global->__pyx_n_u_prefetchLocs,&__pyx_mstate_global->__pyx_n_u_prefetchLocIdxs,&__pyx_mstate_global->__pyx_n_u_numPrefetchLocs,&__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, 30735, __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, 30735, __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, 30735, __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, 30735, __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, 30735, __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, 30735, __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, 30735, __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, 30735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuMemDiscardAndPrefetchBatchAsync", 0) < (0)) __PYX_ERR(0, 30735, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 8; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuMemDiscardAndPrefetchBatchAsync", 1, 8, 8, i); __PYX_ERR(0, 30735, __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, 30735, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 30735, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 30735, __pyx_L3_error)
    }
    __pyx_v_dptrs = values[0];
    __pyx_v_sizes = 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, 30736, __pyx_L3_error)
    __pyx_v_prefetchLocs = values[3];
    __pyx_v_prefetchLocIdxs = values[4];
    __pyx_v_numPrefetchLocs = __Pyx_PyLong_As_size_t(values[5]); if (unlikely((__pyx_v_numPrefetchLocs == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 30736, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(values[6]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30736, __pyx_L3_error)
    __pyx_v_hStream = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemDiscardAndPrefetchBatchAsync", 1, 8, 8, __pyx_nargs); __PYX_ERR(0, 30735, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_412cuMemDiscardAndPrefetchBatchAsync(__pyx_self, __pyx_v_dptrs, __pyx_v_sizes, __pyx_v_count, __pyx_v_prefetchLocs, __pyx_v_prefetchLocIdxs, __pyx_v_numPrefetchLocs, __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_33cuMemDiscardAndPrefetchBatchAsync_2generator144(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30817
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_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, 30817, __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_33cuMemDiscardAndPrefetchBatchAsync_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_cuMemDiscardAndPrefetchBatchAsyn, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30817, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync.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_33cuMemDiscardAndPrefetchBatchAsync_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, 30817, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30817, __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, 30817, __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, 30817, __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, 30817, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30817, __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, 30817, __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, 30817, __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_33cuMemDiscardAndPrefetchBatchAsync_5generator145(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30820
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_3genexpr(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, 30820, __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_33cuMemDiscardAndPrefetchBatchAsync_5generator145, ((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_cuMemDiscardAndPrefetchBatchAsyn, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30820, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync.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_33cuMemDiscardAndPrefetchBatchAsync_5generator145(__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, 30820, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30820, __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, 30820, __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, 30820, __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, 30820, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30820, __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, 30820, __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, 30820, __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_CUmemLocation); 
    __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_33cuMemDiscardAndPrefetchBatchAsync_8generator146(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30822
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_6genexpr(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, 30822, __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_33cuMemDiscardAndPrefetchBatchAsync_8generator146, ((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_cuMemDiscardAndPrefetchBatchAsyn, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30822, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync.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_33cuMemDiscardAndPrefetchBatchAsync_8generator146(__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, 30822, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30822, __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, 30822, __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, 30822, __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, 30822, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30822, __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, 30822, __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, 30822, __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_33cuMemDiscardAndPrefetchBatchAsync_11generator147(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":30825
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_9genexpr(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, 30825, __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_33cuMemDiscardAndPrefetchBatchAsync_11generator147, ((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_cuMemDiscardAndPrefetchBatchAsyn, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 30825, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync.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_33cuMemDiscardAndPrefetchBatchAsync_11generator147(__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, 30825, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 30825, __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, 30825, __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, 30825, __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, 30825, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 30825, __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, 30825, __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, 30825, __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":30735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardAndPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards and prefetches asynchronously.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_412cuMemDiscardAndPrefetchBatchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptrs, PyObject *__pyx_v_sizes, size_t __pyx_v_count, PyObject *__pyx_v_prefetchLocs, PyObject *__pyx_v_prefetchLocIdxs, size_t __pyx_v_numPrefetchLocs, unsigned PY_LONG_LONG __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr *__pyx_v_cydptrs;
  Py_ssize_t __pyx_v_idx;
  std::vector<size_t>  __pyx_v_cysizes;
  CUmemLocation *__pyx_v_cyprefetchLocs;
  std::vector<size_t>  __pyx_v_cyprefetchLocIdxs;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_2generator144 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_5generator145 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_8generator146 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_11generator147 = 0;
  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;
  int __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;
  std::vector<size_t>  __pyx_t_13;
  struct CUmemLocation_st *__pyx_t_14;
  CUresult __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemDiscardAndPrefetchBatchAsync", 0);
  __Pyx_INCREF(__pyx_v_dptrs);
  __Pyx_INCREF(__pyx_v_prefetchLocs);

  /* "cuda/bindings/driver.pyx":30810
 *     """
 *     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":30811
 *     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":30810
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30812
 *     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":30813
 *         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, 30813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":30812
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":30815
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30815, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":30816
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 30816, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":30817
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_genexpr(NULL, __pyx_v_prefetchLocIdxs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 30817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":30818
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")             # <<<<<<<<<<<<<<
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_prefetchLocIdxs_is_not};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30818, __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, 30818, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30817
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
*/
  }

  /* "cuda/bindings/driver.pyx":30819
 *     if not all(isinstance(_x, (int)) for _x in prefetchLocIdxs):
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
*/
  __pyx_t_6 = (__pyx_v_prefetchLocs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_prefetchLocs);
    __pyx_t_2 = __pyx_v_prefetchLocs;
  }
  __Pyx_DECREF_SET(__pyx_v_prefetchLocs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30820
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_3genexpr(NULL, __pyx_v_prefetchLocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30820, __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, 30820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 30820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30821
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")             # <<<<<<<<<<<<<<
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_prefetchLocs_is_not_ins};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30821, __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, 30821, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30820
 *         raise TypeError("Argument 'prefetchLocIdxs' is not instance of type (expected tuple[int] or list[int]")
 *     prefetchLocs = [] if prefetchLocs is None else prefetchLocs
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     if not all(isinstance(_x, (int)) for _x in sizes):
*/
  }

  /* "cuda/bindings/driver.pyx":30822
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  __pyx_t_3 = __pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_6genexpr(NULL, __pyx_v_sizes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 30822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":30823
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")             # <<<<<<<<<<<<<<
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_sizes_is_not_instance_o};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30823, __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, 30823, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30822
 *     if not all(isinstance(_x, (CUmemLocation,)) for _x in prefetchLocs):
 *         raise TypeError("Argument 'prefetchLocs' is not instance of type (expected tuple[cydriver.CUmemLocation,] or list[cydriver.CUmemLocation,]")
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs
*/
  }

  /* "cuda/bindings/driver.pyx":30824
 *     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]")
 *     dptrs = [] if dptrs is None else dptrs             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
*/
  __pyx_t_6 = (__pyx_v_dptrs == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dptrs);
    __pyx_t_2 = __pyx_v_dptrs;
  }
  __Pyx_DECREF_SET(__pyx_v_dptrs, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":30825
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_9genexpr(NULL, __pyx_v_dptrs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30825, __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, 30825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 30825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":30826
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_dptrs_is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30826, __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, 30826, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":30825
 *         raise TypeError("Argument 'sizes' is not instance of type (expected tuple[int] or list[int]")
 *     dptrs = [] if dptrs is None else dptrs
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":30827
 *     if not all(isinstance(_x, (CUdeviceptr,)) for _x in dptrs):
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
*/
  __pyx_v_cydptrs = NULL;

  /* "cuda/bindings/driver.pyx":30828
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30828, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30829
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))             # <<<<<<<<<<<<<<
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30829, __pyx_L1_error)
    __pyx_v_cydptrs = ((CUdeviceptr *)calloc(__pyx_t_7, (sizeof(CUdeviceptr))));

    /* "cuda/bindings/driver.pyx":30830
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    __pyx_t_1 = (__pyx_v_cydptrs == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":30831
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dptrs)):
*/
      __pyx_t_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30831, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30831, __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, 30831, __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, 30831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30831, __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(CUdeviceptr))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30831, __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, 30831, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30831, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30831, __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, 30831, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":30830
 *     if len(dptrs) > 1:
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
*/
    }

    /* "cuda/bindings/driver.pyx":30833
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dptrs)) + 'x' + str(sizeof(cydriver.CUdeviceptr)))
 *         else:
 *             for idx in range(len(dptrs)):             # <<<<<<<<<<<<<<
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
*/
    /*else*/ {
      __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30833, __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":30834
 *         else:
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]             # <<<<<<<<<<<<<<
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30834, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cydptrs[__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":30828
 *         raise TypeError("Argument 'dptrs' is not instance of type (expected tuple[cydriver.CUdeviceptr,] or list[cydriver.CUdeviceptr,]")
 *     cdef cydriver.CUdeviceptr* cydptrs = NULL
 *     if len(dptrs) > 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*> calloc(len(dptrs), sizeof(cydriver.CUdeviceptr))
 *         if cydptrs is NULL:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":30835
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30835, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30836
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dptrs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cydptrs = ((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":30835
 *             for idx in range(len(dptrs)):
 *                 cydptrs[idx] = <cydriver.CUdeviceptr>(<CUdeviceptr>dptrs[idx])._pvt_ptr[0]
 *     elif len(dptrs) == 1:             # <<<<<<<<<<<<<<
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
*/
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":30837
 *     elif len(dptrs) == 1:
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
*/
  __pyx_t_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_sizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30837, __pyx_L1_error)
  __pyx_v_cysizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30838
 *         cydptrs = <cydriver.CUdeviceptr*>(<CUdeviceptr>dptrs[0])._pvt_ptr
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30838, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30838, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30838, __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, 30838, __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, 30838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30838, __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, 30838, __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, 30838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30838, __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, 30838, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30839
 *     cdef vector[size_t] cysizes = sizes
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30839, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_count > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_sizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30839, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30839, __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, 30839, __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, 30839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30839, __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, 30839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30839, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30839, __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, 30839, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30840
 *     if count > <size_t>len(dptrs): raise RuntimeError("List is too small: " + str(len(dptrs)) + " < " + str(count))
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL             # <<<<<<<<<<<<<<
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
*/
  __pyx_v_cyprefetchLocs = NULL;

  /* "cuda/bindings/driver.pyx":30841
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30841, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30842
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))             # <<<<<<<<<<<<<<
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30842, __pyx_L1_error)
    __pyx_v_cyprefetchLocs = ((CUmemLocation *)calloc(__pyx_t_7, (sizeof(CUmemLocation))));

    /* "cuda/bindings/driver.pyx":30843
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
*/
    __pyx_t_1 = (__pyx_v_cyprefetchLocs == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/bindings/driver.pyx":30844
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
*/
      __pyx_t_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30844, __pyx_L1_error)
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30844, __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, 30844, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUmemLocation))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30844, __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, 30844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30844, __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, 30844, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":30843
 *     if len(prefetchLocs) > 1:
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
*/
    }

    /* "cuda/bindings/driver.pyx":30845
 *         if cyprefetchLocs is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:
*/
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30845, __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":30846
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(prefetchLocs)) + 'x' + str(sizeof(cydriver.CUmemLocation)))
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))             # <<<<<<<<<<<<<<
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prefetchLocs, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30846, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cyprefetchLocs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr, (sizeof(CUmemLocation))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/bindings/driver.pyx":30841
 *     if count > <size_t>len(sizes): raise RuntimeError("List is too small: " + str(len(sizes)) + " < " + str(count))
 *     cdef cydriver.CUmemLocation* cyprefetchLocs = NULL
 *     if len(prefetchLocs) > 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = <cydriver.CUmemLocation*> calloc(len(prefetchLocs), sizeof(cydriver.CUmemLocation))
 *         if cyprefetchLocs is NULL:
*/
    goto __pyx_L14;
  }

  /* "cuda/bindings/driver.pyx":30847
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30847, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30848
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prefetchLocs, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_14 = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmemLocation *)__pyx_t_3)->__pyx_base.__pyx_base._pvt_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cyprefetchLocs = __pyx_t_14;

    /* "cuda/bindings/driver.pyx":30847
 *         for idx in range(len(prefetchLocs)):
 *             string.memcpy(&cyprefetchLocs[idx], (<CUmemLocation>prefetchLocs[idx])._pvt_ptr, sizeof(cydriver.CUmemLocation))
 *     elif len(prefetchLocs) == 1:             # <<<<<<<<<<<<<<
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
*/
  }
  __pyx_L14:;

  /* "cuda/bindings/driver.pyx":30849
 *     elif len(prefetchLocs) == 1:
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs             # <<<<<<<<<<<<<<
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
*/
  __pyx_t_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_prefetchLocIdxs); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 30849, __pyx_L1_error)
  __pyx_v_cyprefetchLocIdxs = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/bindings/driver.pyx":30850
 *         cyprefetchLocs = (<CUmemLocation>prefetchLocs[0])._pvt_ptr
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))             # <<<<<<<<<<<<<<
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30850, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numPrefetchLocs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30850, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30850, __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, 30850, __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, 30850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numPrefetchLocs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30850, __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, 30850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30850, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30850, __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, 30850, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30851
 *     cdef vector[size_t] cyprefetchLocIdxs = prefetchLocIdxs
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30851, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numPrefetchLocs > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocIdxs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30851, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30851, __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, 30851, __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, 30851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30851, __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_numPrefetchLocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30851, __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, 30851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30851, __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, 30851, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":30852
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":30853
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)             # <<<<<<<<<<<<<<
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
*/
        __pyx_t_15 = __pyx_f_4cuda_8bindings_8cydriver_cuMemDiscardAndPrefetchBatchAsync(__pyx_v_cydptrs, __pyx_v_cysizes.data(), __pyx_v_count, __pyx_v_cyprefetchLocs, __pyx_v_cyprefetchLocIdxs.data(), __pyx_v_numPrefetchLocs, __pyx_v_flags, __pyx_v_cyhStream); if (unlikely(__pyx_t_15 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 30853, __pyx_L21_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":30852
 *     if numPrefetchLocs > <size_t>len(prefetchLocs): raise RuntimeError("List is too small: " + str(len(prefetchLocs)) + " < " + str(numPrefetchLocs))
 *     if numPrefetchLocs > <size_t>len(prefetchLocIdxs): raise RuntimeError("List is too small: " + str(len(prefetchLocIdxs)) + " < " + str(numPrefetchLocs))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L22;
        }
        __pyx_L21_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L22:;
      }
  }

  /* "cuda/bindings/driver.pyx":30854
 *     with nogil:
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dptrs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30854, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L24_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cydptrs != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L24_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30855
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)             # <<<<<<<<<<<<<<
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)
*/
    free(__pyx_v_cydptrs);

    /* "cuda/bindings/driver.pyx":30854
 *     with nogil:
 *         err = cydriver.cuMemDiscardAndPrefetchBatchAsync(cydptrs, cysizes.data(), count, cyprefetchLocs, cyprefetchLocIdxs.data(), numPrefetchLocs, flags, cyhStream)
 *     if len(dptrs) > 1 and cydptrs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":30856
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyprefetchLocs)
 *     return (_dict_CUresult[err],)
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_prefetchLocs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30856, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L27_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyprefetchLocs != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L27_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":30857
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    free(__pyx_v_cyprefetchLocs);

    /* "cuda/bindings/driver.pyx":30856
 *     if len(dptrs) > 1 and cydptrs is not NULL:
 *         free(cydptrs)
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:             # <<<<<<<<<<<<<<
 *         free(cyprefetchLocs)
 *     return (_dict_CUresult[err],)
*/
  }

  /* "cuda/bindings/driver.pyx":30858
 *     if len(prefetchLocs) > 1 and cyprefetchLocs is not NULL:
 *         free(cyprefetchLocs)
 *     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, 30858, __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, 30858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 30858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 30858, __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, 30858, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30735
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemDiscardAndPrefetchBatchAsync(dptrs : Optional[tuple[CUdeviceptr] | list[CUdeviceptr]], sizes : tuple[int] | list[int], size_t count, prefetchLocs : Optional[tuple[CUmemLocation] | list[CUmemLocation]], prefetchLocIdxs : tuple[int] | list[int], size_t numPrefetchLocs, unsigned long long flags, hStream):
 *     """ Performs a batch of memory discards and prefetches asynchronously.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuMemDiscardAndPrefetchBatchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_2generator144);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_5generator145);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_8generator146);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuMemDiscardAndPrefetchBatchAsync_11generator147);
  __Pyx_XDECREF(__pyx_v_dptrs);
  __Pyx_XDECREF(__pyx_v_prefetchLocs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":30860
 *     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_415cuMemRangeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_414cuMemRangeGetAttribute, "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_415cuMemRangeGetAttribute = {"cuMemRangeGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_415cuMemRangeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_414cuMemRangeGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_415cuMemRangeGetAttribute(PyObject *__pyx_self, 
#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, 30860, __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, 30860, __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, 30860, __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, 30860, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 30860, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 30860, __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, 30860, __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, 30860, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 30860, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 30860, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 30860, __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, 30861, __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, 30861, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 30860, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 30861, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_414cuMemRangeGetAttribute(__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_414cuMemRangeGetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  CUmem_range_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuMemRangeGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":30999
 *     """
 *     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":31000
 *     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":30999
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31001
 *     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":31002
 *         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, 31002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31001
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31004
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31004, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31005
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31005, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31006
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v_dataSize); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_attribute, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute, __pyx_callargs+__pyx_t_4, (3-__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_3)) __PYX_ERR(0, 31006, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cydata = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUmem_range_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31007
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cydata), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cydata_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31008
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUmem_range_attribute_enum)__Pyx_PyLong_As_enum__CUmem_range_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattribute = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":31009
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31010
 *     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_8 = __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_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31010, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":31009
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31011
 *     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":31012
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31012, __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, 31012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __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, 31012, __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, 31012, __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, 31012, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31011
 *     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":31013
 *     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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31013, __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, 31013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = ((PyObject *)__pyx_v_cydata);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __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, 31013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31013, __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, 31013, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 31013, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":30860
 *     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_6);
  __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":31015
 *     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_417cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_416cuMemRangeGetAttributes, "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_417cuMemRangeGetAttributes = {"cuMemRangeGetAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_417cuMemRangeGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_416cuMemRangeGetAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_417cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31015, __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, 31015, __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, 31015, __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, 31015, __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, 31015, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31015, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31015, __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, 31015, __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, 31015, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31015, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31015, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31015, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31015, __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, 31016, __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, 31016, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 31015, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_416cuMemRangeGetAttributes(__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_2generator148(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31082
 *     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_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, 31082, __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_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_cuMemRangeGetAttributes_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31082, __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_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, 31082, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31082, __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, 31082, __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, 31082, __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, 31082, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 31082, __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, 31082, __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, 31082, __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, 31082, __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, 31082, __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_5generator149(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31084
 *     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_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, 31084, __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_5generator149, ((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_cuMemRangeGetAttributes_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31084, __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_5generator149(__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, 31084, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31084, __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, 31084, __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, 31084, __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, 31084, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 31084, __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, 31084, __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, 31084, __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":31015
 *     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_416cuMemRangeGetAttributes(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_2generator148 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator149 = 0;
  PyObject *__pyx_10genexpr297__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr297__pyx_v_pydataSizes = NULL;
  PyObject *__pyx_10genexpr298__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr299__pyx_v_obj = NULL;
  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;
  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;
  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":31074
 *     """
 *     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":31075
 *     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":31074
 *     """
 *     cdef cydriver.CUdeviceptr cydevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31076
 *     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":31077
 *         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, 31077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31076
 *     if devPtr is None:
 *         pdevPtr = 0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31079
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_devPtr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31079, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31080
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31080, __pyx_L1_error)
  __pyx_v_cydevPtr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31081
 *         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, 31081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_3 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31082
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 31082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":31083
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31083, __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, 31083, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31082
 *     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":31084
 *     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, 31084, __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, 31084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 31084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":31085
 *         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_t_4 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31085, __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, 31085, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31084
 *     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":31086
 *     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, 31086, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_attributes, __pyx_v_dataSizes};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31086, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
      __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31086, __pyx_L8_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(0, 31086, __pyx_L8_error)
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    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(0, 31086, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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(0, 31086, __pyx_L8_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31086, __pyx_L8_error)
      } else {
        __pyx_t_2 = __pyx_t_9(__pyx_t_7);
        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, 31086, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
        PyObject* sequence = __pyx_t_2;
        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, 31086, __pyx_L8_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_10);
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_11);
        } else {
          __pyx_t_10 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31086, __pyx_L8_error)
          __Pyx_XGOTREF(__pyx_t_10);
          __pyx_t_11 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31086, __pyx_L8_error)
          __Pyx_XGOTREF(__pyx_t_11);
        }
        #else
        __pyx_t_10 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31086, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31086, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_11);
        #endif
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 31086, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L11_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        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, 31086, __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, 31086, __pyx_L8_error)
        __pyx_L12_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr297__pyx_v_pyattributes, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr297__pyx_v_pydataSizes, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_10genexpr297__pyx_v_pyattributes, __pyx_10genexpr297__pyx_v_pydataSizes};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31086, __pyx_L8_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_2);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 31086, __pyx_L8_error)
      __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pyattributes); __pyx_10genexpr297__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pydataSizes); __pyx_10genexpr297__pyx_v_pydataSizes = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pyattributes); __pyx_10genexpr297__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pydataSizes); __pyx_10genexpr297__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":31087
 *         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_7 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_pylist};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31087, __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":31088
 *     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, 31088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31088, __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_5));

  /* "cuda/bindings/driver.pyx":31089
 *     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, 31089, __pyx_L1_error)
  __pyx_v_cydataSizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":31090
 *     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, 31090, __pyx_L17_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_7 = __pyx_v_attributes; __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_attributes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31090, __pyx_L17_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(0, 31090, __pyx_L17_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(0, 31090, __pyx_L17_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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(0, 31090, __pyx_L17_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31090, __pyx_L17_error)
      } else {
        __pyx_t_2 = __pyx_t_9(__pyx_t_7);
        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, 31090, __pyx_L17_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_10genexpr298__pyx_v_pyattributes, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr298__pyx_v_pyattributes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31090, __pyx_L17_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 31090, __pyx_L17_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr298__pyx_v_pyattributes); __pyx_10genexpr298__pyx_v_pyattributes = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L17_error:;
    __Pyx_XDECREF(__pyx_10genexpr298__pyx_v_pyattributes); __pyx_10genexpr298__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, 31090, __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":31091
 *     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_8 = PyObject_Length(__pyx_v_dataSizes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31091, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_7 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_dataSizes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31091, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31091, __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, 31091, __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, 31091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31091, __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, 31091, __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, 31091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31091, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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, 31091, __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, 31091, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31092
 *     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_8 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31092, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_8));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_8 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31092, __pyx_L1_error)
    __pyx_t_7 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31092, __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, 31092, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31093
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31094
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31094, __pyx_L25_error)
        __pyx_v_err = __pyx_t_16;
      }

      /* "cuda/bindings/driver.pyx":31093
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L26;
        }
        __pyx_L25_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L26:;
      }
  }

  /* "cuda/bindings/driver.pyx":31095
 *     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":31096
 *         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, 31096, __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, 31096, __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, 31096, __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, 31096, __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, 31096, __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, 31096, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31095
 *     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":31097
 *     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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31097, __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, 31097, __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, 31097, __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;
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31097, __pyx_L30_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 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, 31097, __pyx_L30_error)
        #endif
        if (__pyx_t_8 >= __pyx_temp) break;
      }
      __pyx_t_11 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_8;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31097, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF_SET(__pyx_10genexpr299__pyx_v_obj, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_10 = __pyx_10genexpr299__pyx_v_obj;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
        __pyx_t_11 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 31097, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_11);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 31097, __pyx_L30_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr299__pyx_v_obj); __pyx_10genexpr299__pyx_v_obj = 0;
    goto __pyx_L34_exit_scope;
    __pyx_L30_error:;
    __Pyx_XDECREF(__pyx_10genexpr299__pyx_v_obj); __pyx_10genexpr299__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L34_exit_scope:;
  } /* exit inner scope */
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31097, __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, 31097, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 31097, __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":31015
 *     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_7);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator148);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuMemRangeGetAttributes_5generator149);
  __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr297__pyx_v_pydataSizes);
  __Pyx_XDECREF(__pyx_10genexpr298__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr299__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31099
 *     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_419cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_418cuPointerSetAttribute, "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_419cuPointerSetAttribute = {"cuPointerSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_419cuPointerSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_418cuPointerSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_419cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31099, __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, 31099, __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, 31099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31099, __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, 31099, __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, 31099, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31099, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31099, __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, 31099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 31100, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_418cuPointerSetAttribute(__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_418cuPointerSetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  CUpointer_attribute __pyx_t_7;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuPointerSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":31138
 *     """
 *     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":31139
 *     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":31138
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31140
 *     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":31141
 *         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, 31141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31140
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31143
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31143, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31144
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31144, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31145
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attribute, __pyx_v_value};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31145, __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, 31145, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31145, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUpointer_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31146
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31147
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUpointer_attribute_enum)__Pyx_PyLong_As_enum__CUpointer_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattribute = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":31148
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31149
 *     cdef cydriver.CUpointer_attribute cyattribute = attribute.value
 *     with nogil:
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_8 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerSetAttribute(__pyx_v_cyvalue_ptr, __pyx_v_cyattribute, __pyx_v_cyptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31149, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":31148
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31150
 *     with nogil:
 *         err = cydriver.cuPointerSetAttribute(cyvalue_ptr, cyattribute, cyptr)
 *     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, 31150, __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, 31150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31150, __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, 31150, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31099
 *     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_6);
  __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":31152
 *     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_421cuPointerGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_420cuPointerGetAttributes, "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_421cuPointerGetAttributes = {"cuPointerGetAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_421cuPointerGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_420cuPointerGetAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_421cuPointerGetAttributes(PyObject *__pyx_self, 
#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, 31152, __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, 31152, __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, 31152, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31152, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31152, __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, 31152, __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, 31152, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31152, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31152, __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, 31153, __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, 31152, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_420cuPointerGetAttributes(__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_2generator150(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31230
 *     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_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, 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_22cuPointerGetAttributes_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_cuPointerGetAttributes_locals_ge, __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.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_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, 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_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUpointer_attribute); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 31230, __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, 31230, __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":31152
 *     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_420cuPointerGetAttributes(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_2generator150 = 0;
  PyObject *__pyx_10genexpr301__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr302__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr303__pyx_v_obj = NULL;
  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;
  int __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<CUpointer_attribute>  __pyx_t_12;
  CUresult __pyx_t_13;
  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":31222
 *     """
 *     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":31223
 *     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":31222
 *     """
 *     cdef cydriver.CUdeviceptr cyptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31224
 *     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":31225
 *         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, 31225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31224
 *     if ptr is None:
 *         pptr = 0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31227
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31227, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31228
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31228, __pyx_L1_error)
  __pyx_v_cyptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31229
 *         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, 31229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_3 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31230
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_22cuPointerGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 31230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":31231
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta_2};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31231, __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, 31231, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31230
 *     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":31232
 *     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_7 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31232, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numAttributes > __pyx_t_7);
  if (unlikely(__pyx_t_6)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_attributes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31232, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31232, __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, 31232, __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, 31232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31232, __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_numAttributes); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31232, __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, 31232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31232, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31232, __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, 31232, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31233
 *         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, 31233, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_8 = __pyx_v_attributes; __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_attributes); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31233, __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, 31233, __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, 31233, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 31233, __pyx_L8_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_8, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31233, __pyx_L8_error)
      } else {
        __pyx_t_3 = __pyx_t_11(__pyx_t_8);
        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, 31233, __pyx_L8_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr301__pyx_v_pyattributes, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr301__pyx_v_pyattributes, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31233, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 31233, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr301__pyx_v_pyattributes); __pyx_10genexpr301__pyx_v_pyattributes = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr301__pyx_v_pyattributes); __pyx_10genexpr301__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_12 = __pyx_convert_vector_from_py_CUpointer_attribute(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyattributes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_12);

  /* "cuda/bindings/driver.pyx":31234
 *     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, 31234, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_v_attributes)) {
      __pyx_t_8 = __pyx_v_attributes; __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_attributes); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31234, __pyx_L15_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, 31234, __pyx_L15_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, 31234, __pyx_L15_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__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, 31234, __pyx_L15_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_8, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31234, __pyx_L15_error)
      } else {
        __pyx_t_3 = __pyx_t_11(__pyx_t_8);
        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, 31234, __pyx_L15_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_10genexpr302__pyx_v_pyattributes, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_10 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_10, __pyx_10genexpr302__pyx_v_pyattributes, __pyx_mstate_global->__pyx_int_0};
        __pyx_t_9 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31234, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_9, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 31234, __pyx_L15_error)
        __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_9);
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31234, __pyx_L15_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 31234, __pyx_L15_error)
      __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr302__pyx_v_pyattributes); __pyx_10genexpr302__pyx_v_pyattributes = 0;
    goto __pyx_L19_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr302__pyx_v_pyattributes); __pyx_10genexpr302__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":31235
 *     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_8 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_pylist};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31235, __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":31236
 *     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, 31236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31236, __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_5));

  /* "cuda/bindings/driver.pyx":31237
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31238
 *     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_13 = __pyx_f_4cuda_8bindings_8cydriver_cuPointerGetAttributes(__pyx_v_numAttributes, __pyx_v_cyattributes.data(), __pyx_v_cyvoidStarHelper_ptr, __pyx_v_cyptr); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31238, __pyx_L21_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":31237
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L22;
        }
        __pyx_L21_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L22:;
      }
  }

  /* "cuda/bindings/driver.pyx":31239
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":31240
 *         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, 31240, __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, 31240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __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, 31240, __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, 31240, __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, 31240, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31239
 *     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":31241
 *     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_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31241, __pyx_L26_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = 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, 31241, __pyx_L26_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      __pyx_t_9 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
      ++__pyx_t_7;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31241, __pyx_L26_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_10genexpr303__pyx_v_obj, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_10 = __pyx_10genexpr303__pyx_v_obj;
      __Pyx_INCREF(__pyx_t_10);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31241, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 31241, __pyx_L26_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr303__pyx_v_obj); __pyx_10genexpr303__pyx_v_obj = 0;
    goto __pyx_L30_exit_scope;
    __pyx_L26_error:;
    __Pyx_XDECREF(__pyx_10genexpr303__pyx_v_obj); __pyx_10genexpr303__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L30_exit_scope:;
  } /* exit inner scope */
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 31241, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 31241, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31152
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator150);
  __Pyx_XDECREF(__pyx_10genexpr301__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr302__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr303__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31243
 *     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_423cuStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_422cuStreamCreate, "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_423cuStreamCreate = {"cuStreamCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_423cuStreamCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_422cuStreamCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_423cuStreamCreate(PyObject *__pyx_self, 
#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, 31243, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31243, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31243, __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, 31243, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31243, __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, 31244, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 31243, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_422cuStreamCreate(__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_422cuStreamCreate(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCreate", 0);

  /* "cuda/bindings/driver.pyx":31275
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31275, __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":31276
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreate(<cydriver.CUstream*>phStream._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31277
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCreate(((CUstream *)__pyx_v_phStream->_pvt_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31277, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":31276
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":31278
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":31279
 *         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, 31279, __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, 31279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 31279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 31279, __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, 31279, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31278
 *     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":31280
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31280, __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, 31280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 31280, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 31280, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31243
 *     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_6);
  __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":31282
 *     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_425cuStreamCreateWithPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_424cuStreamCreateWithPriority, "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_425cuStreamCreateWithPriority = {"cuStreamCreateWithPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_425cuStreamCreateWithPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_424cuStreamCreateWithPriority};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_425cuStreamCreateWithPriority(PyObject *__pyx_self, 
#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, 31282, __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, 31282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31282, __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, 31282, __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, 31282, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31282, __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, 31283, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 31283, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreateWithPriority", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 31282, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_424cuStreamCreateWithPriority(__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_424cuStreamCreateWithPriority(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCreateWithPriority", 0);

  /* "cuda/bindings/driver.pyx":31327
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31327, __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":31328
 *     """
 *     cdef CUstream phStream = CUstream()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCreateWithPriority(<cydriver.CUstream*>phStream._pvt_ptr, flags, priority)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31329
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCreateWithPriority(((CUstream *)__pyx_v_phStream->_pvt_ptr), __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31329, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":31328
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":31330
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":31331
 *         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, 31331, __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, 31331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 31331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 31331, __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, 31331, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31330
 *     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":31332
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31332, __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, 31332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 31332, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 31332, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31282
 *     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_6);
  __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":31334
 *     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_427cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_426cuStreamGetPriority, "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_427cuStreamGetPriority = {"cuStreamGetPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_427cuStreamGetPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_426cuStreamGetPriority};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_427cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31334, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31334, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31334, __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, 31334, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31334, __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, 31334, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_426cuStreamGetPriority(__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_426cuStreamGetPriority(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetPriority", 0);

  /* "cuda/bindings/driver.pyx":31365
 *     """
 *     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":31366
 *     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":31365
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31367
 *     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":31368
 *         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, 31368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31367
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31370
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef int priority = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31370, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31371
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef int priority = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31371, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31372
 *         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":31373
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31374
 *     cdef int priority = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetPriority(cyhStream, &priority)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetPriority(__pyx_v_cyhStream, (&__pyx_v_priority)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31374, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31373
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31375
 *     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":31376
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31376, __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, 31376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 31376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31376, __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, 31376, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31375
 *     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":31377
 *     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, 31377, __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, 31377, __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, 31377, __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 = __Pyx_PyLong_From_int(__pyx_v_priority); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31377, __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, 31377, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 31377, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31334
 *     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_7);
  __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":31379
 *     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_429cuStreamGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_428cuStreamGetDevice, "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_429cuStreamGetDevice = {"cuStreamGetDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_429cuStreamGetDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_428cuStreamGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_429cuStreamGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31379, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31379, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31379, __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, 31379, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31379, __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, 31379, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_428cuStreamGetDevice(__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_428cuStreamGetDevice(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetDevice", 0);

  /* "cuda/bindings/driver.pyx":31402
 *     """
 *     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":31403
 *     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":31402
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31404
 *     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":31405
 *         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, 31405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31404
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31407
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevice device = CUdevice()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31407, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31408
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdevice device = CUdevice()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31408, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31409
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31409, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31410
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31411
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevice(__pyx_v_cyhStream, ((CUdevice *)__pyx_v_device->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31411, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31410
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31412
 *     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":31413
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31413, __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, 31413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 31413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31413, __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, 31413, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31412
 *     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":31414
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31414, __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, 31414, __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, 31414, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31414, __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, 31414, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_device)) != (0)) __PYX_ERR(0, 31414, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31379
 *     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_7);
  __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":31416
 *     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_431cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_430cuStreamGetFlags, "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_431cuStreamGetFlags = {"cuStreamGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_431cuStreamGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_430cuStreamGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_431cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31416, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31416, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31416, __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, 31416, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31416, __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, 31416, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_430cuStreamGetFlags(__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_430cuStreamGetFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetFlags", 0);

  /* "cuda/bindings/driver.pyx":31444
 *     """
 *     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":31445
 *     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":31444
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31446
 *     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":31447
 *         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, 31447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31446
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31449
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31449, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31450
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31450, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31451
 *         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":31452
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31453
 *     cdef unsigned int flags = 0
 *     with nogil:
 *         err = cydriver.cuStreamGetFlags(cyhStream, &flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetFlags(__pyx_v_cyhStream, (&__pyx_v_flags)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31453, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31452
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31454
 *     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":31455
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31455, __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, 31455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 31455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31455, __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, 31455, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31454
 *     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":31456
 *     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, 31456, __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, 31456, __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, 31456, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31456, __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, 31456, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 31456, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31416
 *     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_7);
  __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":31458
 *     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_433cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_432cuStreamGetId, "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_433cuStreamGetId = {"cuStreamGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_433cuStreamGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_432cuStreamGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_433cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31458, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31458, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31458, __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, 31458, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31458, __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, 31458, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_432cuStreamGetId(__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_432cuStreamGetId(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetId", 0);

  /* "cuda/bindings/driver.pyx":31498
 *     """
 *     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":31499
 *     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":31498
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31500
 *     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":31501
 *         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, 31501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31500
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31503
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31503, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31504
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned long long streamId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31504, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31505
 *         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":31506
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31507
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetId(__pyx_v_cyhStream, (&__pyx_v_streamId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31507, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31506
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31508
 *     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":31509
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31509, __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, 31509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 31509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31509, __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, 31509, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31508
 *     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":31510
 *     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, 31510, __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, 31510, __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, 31510, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_streamId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31510, __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, 31510, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 31510, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31458
 *     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_7);
  __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":31512
 *     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_435cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_434cuStreamGetCtx, "cuStreamGetCtx(hStream)\n\nQuery the context associated with a stream.\n\nReturns the CUDA context that the stream is associated with.\n\nIf the stream was created via the API\n:py:obj:`~.cuGreenCtxStreamCreate`, the returned context is equivalent\nto the one returned by :py:obj:`~.cuCtxFromGreenCtx()` on the green\ncontext associated with the stream at creation time.\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`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStr""eamGetFlags`, :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_435cuStreamGetCtx = {"cuStreamGetCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_435cuStreamGetCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_434cuStreamGetCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_435cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31512, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31512, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31512, __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, 31512, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31512, __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, 31512, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_434cuStreamGetCtx(__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_434cuStreamGetCtx(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCtx", 0);

  /* "cuda/bindings/driver.pyx":31560
 *     """
 *     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":31561
 *     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":31560
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31562
 *     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":31563
 *         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, 31563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31562
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31565
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31565, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31566
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31566, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31567
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31567, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31568
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31569
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetCtx(__pyx_v_cyhStream, ((CUcontext *)__pyx_v_pctx->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31569, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31568
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31570
 *     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":31571
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31571, __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, 31571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 31571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31571, __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, 31571, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31570
 *     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":31572
 *     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, 31572, __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, 31572, __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, 31572, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31572, __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, 31572, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pctx)) != (0)) __PYX_ERR(0, 31572, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31512
 *     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_7);
  __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":31574
 *     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_437cuStreamGetCtx_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_436cuStreamGetCtx_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_437cuStreamGetCtx_v2 = {"cuStreamGetCtx_v2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_437cuStreamGetCtx_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_436cuStreamGetCtx_v2};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_437cuStreamGetCtx_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, 31574, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31574, __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, 31574, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31574, __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, 31574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_436cuStreamGetCtx_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_436cuStreamGetCtx_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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCtx_v2", 0);

  /* "cuda/bindings/driver.pyx":31634
 *     """
 *     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":31635
 *     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":31634
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31636
 *     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":31637
 *         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, 31637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31636
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31639
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUcontext pCtx = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31639, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31640
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUcontext pCtx = CUcontext()
 *     cdef CUgreenCtx pGreenCtx = CUgreenCtx()
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31640, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31641
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31641, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31642
 *     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_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31642, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pGreenCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":31643
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31644
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31644, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31643
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31645
 *     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":31646
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31646, __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, 31646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 31646, __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, 31646, __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, 31646, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31645
 *     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":31647
 *     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, 31647, __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, 31647, __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, 31647, __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(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31647, __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, 31647, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCtx)) != (0)) __PYX_ERR(0, 31647, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pGreenCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pGreenCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_v_pGreenCtx)) != (0)) __PYX_ERR(0, 31647, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31574
 *     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_7);
  __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":31649
 *     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_439cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_438cuStreamWaitEvent, "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_439cuStreamWaitEvent = {"cuStreamWaitEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_439cuStreamWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_438cuStreamWaitEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_439cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31649, __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, 31649, __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, 31649, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31649, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31649, __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, 31649, __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, 31649, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31649, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31649, __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, 31650, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 31649, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_438cuStreamWaitEvent(__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_438cuStreamWaitEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":31686
 *     """
 *     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":31687
 *     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":31686
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31688
 *     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":31689
 *         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, 31689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31688
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31691
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31691, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31692
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31692, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31694
 *     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":31695
 *     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":31694
 *     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":31696
 *     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":31697
 *         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, 31697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31696
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31699
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31699, __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, 31699, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31700
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31700, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31701
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31702
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitEvent(__pyx_v_cyhStream, __pyx_v_cyhEvent, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31702, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31701
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":31703
 *     with nogil:
 *         err = cydriver.cuStreamWaitEvent(cyhStream, cyhEvent, Flags)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuStreamCallbackData_st:
*/
  __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, 31703, __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, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 31703, __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, 31703, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31649
 *     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_7);
  __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":31711
 * 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":31713
 * @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":31714
 * 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":31715
 *     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":31714
 * 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":31716
 *     with gil:
 *         cbData.callback(stream, status, cbData.userData)
 *     free(cbData)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  free(__pyx_v_cbData);

  /* "cuda/bindings/driver.pyx":31711
 * 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":31718
 *     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_441cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_440cuStreamAddCallback, "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_441cuStreamAddCallback = {"cuStreamAddCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_441cuStreamAddCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_440cuStreamAddCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_441cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31718, __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, 31718, __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, 31718, __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, 31718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31718, __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, 31718, __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, 31718, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31718, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31718, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31718, __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, 31719, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 31718, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_440cuStreamAddCallback(__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_440cuStreamAddCallback(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamAddCallback", 0);

  /* "cuda/bindings/driver.pyx":31788
 *     """
 *     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":31789
 *     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":31788
 *     """
 *     cdef cydriver.CUstreamCallback cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31790
 *     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":31791
 *         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, 31791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31790
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUstreamCallback,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31793
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUstreamCallback(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31793, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31794
 *     else:
 *         pcallback = int(CUstreamCallback(callback))
 *     cycallback = <cydriver.CUstreamCallback><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31794, __pyx_L1_error)
  __pyx_v_cycallback = ((CUstreamCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31796
 *     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":31797
 *     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":31796
 *     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":31798
 *     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":31799
 *         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, 31799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31798
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":31801
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31801, __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, 31801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":31802
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31802, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31803
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_userData};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31803, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":31804
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuStreamCallbackData *cbData = NULL
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31806
 *     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":31807
 * 
 *     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":31808
 *     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":31809
 *     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_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31809, __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, 31809, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":31808
 *     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":31810
 *     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":31811
 *         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":31813
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31814
 * 
 *     with nogil:
 *         err = cydriver.cuStreamAddCallback(cyhStream, <cydriver.CUstreamCallback>cuStreamCallbackWrapper, <void *>cbData, flags)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31814, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":31813
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":31815
 *     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":31816
 *         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":31815
 *     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":31817
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
 *     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, 31817, __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, 31817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 31817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 31817, __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, 31817, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31718
 *     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_7);
  __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":31819
 *     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_443cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_442cuStreamBeginCapture, "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_443cuStreamBeginCapture = {"cuStreamBeginCapture", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_443cuStreamBeginCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_442cuStreamBeginCapture};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_443cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31819, __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, 31819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31819, __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, 31819, __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, 31819, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31819, __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, 31819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 31820, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_442cuStreamBeginCapture(__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_442cuStreamBeginCapture(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUstreamCaptureMode __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("cuStreamBeginCapture", 0);

  /* "cuda/bindings/driver.pyx":31860
 *     """
 *     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":31861
 *     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":31860
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31862
 *     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":31863
 *         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, 31863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":31862
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":31865
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31865, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":31866
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 31866, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":31867
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUstreamCaptureMode_enum)__Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cymode = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":31868
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31869
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamBeginCapture(__pyx_v_cyhStream, __pyx_v_cymode); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31869, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":31868
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":31870
 *     with nogil:
 *         err = cydriver.cuStreamBeginCapture(cyhStream, cymode)
 *     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, 31870, __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, 31870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 31870, __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, 31870, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31819
 *     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_8);
  __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":31872
 *     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_445cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_444cuStreamBeginCaptureToGraph, "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_445cuStreamBeginCaptureToGraph = {"cuStreamBeginCaptureToGraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_445cuStreamBeginCaptureToGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_444cuStreamBeginCaptureToGraph};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_445cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31872, __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, 31872, __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, 31872, __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, 31872, __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, 31872, __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, 31872, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31872, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31872, __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, 31872, __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, 31872, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 31872, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 31872, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 31872, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 31872, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 31872, __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, 31873, __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, 31872, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 31873, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_444cuStreamBeginCaptureToGraph(__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_2generator151(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31925
 *     """
 *     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_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, 31925, __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_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_cuStreamBeginCaptureToGraph_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31925, __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_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, 31925, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31925, __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, 31925, __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, 31925, __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, 31925, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 31925, __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, 31925, __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, 31925, __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_5generator152(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":31928
 *         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_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, 31928, __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_5generator152, ((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_cuStreamBeginCaptureToGraph_loca, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 31928, __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_5generator152(__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, 31928, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 31928, __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, 31928, __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, 31928, __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, 31928, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 31928, __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, 31928, __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, 31928, __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":31872
 *     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_444cuStreamBeginCaptureToGraph(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_2generator151 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator152 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUgraphEdgeData_st *__pyx_t_13;
  CUstreamCaptureMode __pyx_t_14;
  CUresult __pyx_t_15;
  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":31924
 *     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, 31924, __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":31925
 *     """
 *     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, 31925, __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, 31925, __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, 31925, __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":31926
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31926, __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, 31926, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31925
 *     """
 *     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":31927
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":31928
 *         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, 31928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 31928, __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":31929
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31929, __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, 31929, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":31928
 *         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":31931
 *         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":31932
 *     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":31931
 *         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":31933
 *     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":31934
 *         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, 31934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":31933
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":31936
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31936, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":31937
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream 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, 31937, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31939
 *     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":31940
 *     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":31939
 *     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":31941
 *     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":31942
 *         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, 31942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":31941
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":31944
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31944, __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, 31944, __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":31945
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __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, 31945, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":31946
 *         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":31947
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31947, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31948
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31948, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":31949
 *     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":31950
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31950, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31950, __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, 31950, __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, 31950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31950, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31950, __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, 31950, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31950, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31950, __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, 31950, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31949
 *     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":31952
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31952, __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":31953
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31953, __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":31947
 *     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":31954
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31954, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31955
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31955, __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":31954
 *             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":31956
 *     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":31957
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31957, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31958
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31958, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_7, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":31959
 *     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":31960
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31960, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31960, __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, 31960, __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, 31960, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 31960, __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, 31960, __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, 31960, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31960, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 31960, __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, 31960, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":31959
 *     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":31961
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31961, __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":31962
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31962, __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":31957
 *         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":31963
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31963, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":31964
 *             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))
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":31963
 *         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":31965
 *     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))             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31965, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31965, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31965, __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, 31965, __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, 31965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 31965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31965, __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, 31965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31965, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31965, __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, 31965, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":31966
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + 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, 31966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = ((enum CUstreamCaptureMode_enum)__Pyx_PyLong_As_enum__CUstreamCaptureMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":31967
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + 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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":31968
 *     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_15 = __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_15 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 31968, __pyx_L17_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":31967
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + 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();
          PyEval_RestoreThread(_save);
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":31969
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31969, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":31970
 *         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":31969
 *     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":31971
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31971, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":31972
 *         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":31971
 *     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":31973
 *     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, 31973, __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, 31973, __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, 31973, __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(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 31973, __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, 31973, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":31872
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator151);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuStreamBeginCaptureToGraph_5generator152);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":31975
 *     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_447cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_446cuThreadExchangeStreamCaptureMode, "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_447cuThreadExchangeStreamCaptureMode = {"cuThreadExchangeStreamCaptureMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_447cuThreadExchangeStreamCaptureMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_446cuThreadExchangeStreamCaptureMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_447cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 31975, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 31975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 31975, __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, 31975, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 31975, __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, 31975, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 31976, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_446cuThreadExchangeStreamCaptureMode(__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_446cuThreadExchangeStreamCaptureMode(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":32039
 *     :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, 32039, __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, 32039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":32040
 *     """
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32041
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32041, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":32040
 *     """
 *     cdef cydriver.CUstreamCaptureMode cymode = mode.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuThreadExchangeStreamCaptureMode(&cymode)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":32042
 *     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":32043
 *         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, 32043, __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, 32043, __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, 32043, __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, 32043, __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, 32043, __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, 32043, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32042
 *     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":32044
 *     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, 32044, __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, 32044, __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, 32044, __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, 32044, __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, 32044, __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((PyObject*)__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, 32044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32044, __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, 32044, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 32044, __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":31975
 *     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":32046
 *     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_449cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_448cuStreamEndCapture, "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_449cuStreamEndCapture = {"cuStreamEndCapture", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_449cuStreamEndCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_448cuStreamEndCapture};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_449cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32046, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32046, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32046, __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, 32046, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32046, __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, 32046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_448cuStreamEndCapture(__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_448cuStreamEndCapture(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamEndCapture", 0);

  /* "cuda/bindings/driver.pyx":32077
 *     """
 *     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":32078
 *     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":32077
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32079
 *     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":32080
 *         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, 32080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32079
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32082
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32082, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32083
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32083, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32084
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32084, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32085
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32086
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamEndCapture(__pyx_v_cyhStream, ((CUgraph *)__pyx_v_phGraph->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32086, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32085
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32087
 *     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":32088
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32088, __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, 32088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 32088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32088, __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, 32088, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32087
 *     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":32089
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32089, __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, 32089, __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, 32089, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32089, __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, 32089, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 32089, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32046
 *     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_7);
  __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":32091
 *     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_451cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_450cuStreamIsCapturing, "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_451cuStreamIsCapturing = {"cuStreamIsCapturing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_451cuStreamIsCapturing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_450cuStreamIsCapturing};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_451cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32091, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32091, __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, 32091, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32091, __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, 32091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_450cuStreamIsCapturing(__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_450cuStreamIsCapturing(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuStreamIsCapturing", 0);

  /* "cuda/bindings/driver.pyx":32137
 *     """
 *     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":32138
 *     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":32137
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32139
 *     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":32140
 *         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, 32140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32139
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32142
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32142, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32143
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32143, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32145
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32146
 *     cdef cydriver.CUstreamCaptureStatus captureStatus
 *     with nogil:
 *         err = cydriver.cuStreamIsCapturing(cyhStream, &captureStatus)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamIsCapturing(__pyx_v_cyhStream, (&__pyx_v_captureStatus)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32146, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32145
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32147
 *     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":32148
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32148, __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, 32148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 32148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32148, __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, 32148, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32147
 *     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":32149
 *     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, 32149, __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, 32149, __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, 32149, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32149, __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, 32149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32149, __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, 32149, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 32149, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32091
 *     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_7);
  __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":32151
 *     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_453cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_452cuStreamGetCaptureInfo, "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\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 trigger :py:ob""j:`~.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:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamUpdateCaptureDependencies`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_453cuStreamGetCaptureInfo = {"cuStreamGetCaptureInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_453cuStreamGetCaptureInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_452cuStreamGetCaptureInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_453cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32151, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32151, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32151, __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, 32151, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32151, __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, 32151, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_452cuStreamGetCaptureInfo(__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_452cuStreamGetCaptureInfo(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_10genexpr306__pyx_v_idx;
  size_t __pyx_10genexpr307__pyx_v_idx;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo", 0);

  /* "cuda/bindings/driver.pyx":32223
 *     """
 *     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":32224
 *     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":32223
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32225
 *     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":32226
 *         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, 32226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32225
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32228
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32228, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32229
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32229, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32231
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32231, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_id_out = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32232
 *     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_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32232, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32233
 *     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":32234
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32235
 *     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":32236
 *     pydependencies_out = []
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
 *     pyedgeData_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     with nogil:
*/
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyedgeData_out = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32237
 *     cdef const cydriver.CUgraphEdgeData* cyedgeData_out = NULL
 *     pyedgeData_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, &cyedgeData_out, &numDependencies_out)
*/
  __pyx_v_numDependencies_out = 0;

  /* "cuda/bindings/driver.pyx":32238
 *     pyedgeData_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, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32239
 *     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, &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_6 = __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_cyedgeData_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32239, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32238
 *     pyedgeData_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, &cyedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32240
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(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_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32240, __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, 32240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __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_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 32240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32241
 *         err = cydriver.cuStreamGetCaptureInfo(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, 32241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __pyx_v_numDependencies_out;
      __pyx_t_9 = __pyx_t_4;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_10genexpr306__pyx_v_idx = __pyx_t_10;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies_out[__pyx_10genexpr306__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32241, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_12 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32241, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_12, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 32241, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_12);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32241, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 32241, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32240
 *     with nogil:
 *         err = cydriver.cuStreamGetCaptureInfo(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":32242
 *     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_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_12))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_12 = __Pyx_PyObject_FastCall((PyObject*)__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_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 32242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":32243
 *         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_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = __pyx_v_numDependencies_out;
      __pyx_t_9 = __pyx_t_4;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_10genexpr307__pyx_v_idx = __pyx_t_10;
        __pyx_t_2 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData_out[__pyx_10genexpr307__pyx_v_idx])))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32243, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_11 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
          __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32243, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_8, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 32243, __pyx_L1_error)
          __pyx_t_12 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData, __pyx_callargs+__pyx_t_11, (1-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
          __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_12)) __PYX_ERR(0, 32243, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_12);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 32243, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_12); __pyx_t_12 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData_out, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":32242
 *     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":32244
 *     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":32245
 *         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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = PyTuple_New(7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 2, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 3, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 4, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 5, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 6, Py_None) != (0)) __PYX_ERR(0, 32245, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_12;
    __pyx_t_12 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32244
 *     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":32246
 *     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_12, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_12 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUstreamCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = __Pyx_PyLong_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_12);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_12);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_2};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 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, 32246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_id_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_id_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_id_out)) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_graph_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_graph_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 3, ((PyObject *)__pyx_v_graph_out)) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_pydependencies_out) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData_out);
  __Pyx_GIVEREF(__pyx_v_pyedgeData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_pyedgeData_out) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_t_8) != (0)) __PYX_ERR(0, 32246, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32151
 *     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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __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_XDECREF(__pyx_v_pyedgeData_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32248
 *     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]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_455cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_454cuStreamUpdateCaptureDependencies, "cuStreamUpdateCaptureDependencies(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.\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_455cuStreamUpdateCaptureDependencies = {"cuStreamUpdateCaptureDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_455cuStreamUpdateCaptureDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_454cuStreamUpdateCaptureDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_455cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 32248, __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, 32248, __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, 32248, __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, 32248, __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, 32248, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32248, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32248, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 5, 5, i); __PYX_ERR(0, 32248, __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, 32248, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32248, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32248, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 32248, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 32248, __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, 32249, __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, 32249, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 32248, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_454cuStreamUpdateCaptureDependencies(__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_33cuStreamUpdateCaptureDependencies_2generator153(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":32292
 *     """
 *     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_33cuStreamUpdateCaptureDependencies_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, 32292, __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_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_cuStreamUpdateCaptureDependencie, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 32292, __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_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, 32292, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 32292, __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, 32292, __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, 32292, __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, 32292, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 32292, __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, 32292, __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, 32292, __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_33cuStreamUpdateCaptureDependencies_5generator154(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":32295
 *         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_33cuStreamUpdateCaptureDependencies_3genexpr(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, 32295, __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_5generator154, ((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_cuStreamUpdateCaptureDependencie, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 32295, __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_5generator154(__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, 32295, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 32295, __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, 32295, __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, 32295, __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, 32295, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 32295, __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, 32295, __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, 32295, __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":32248
 *     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]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_454cuStreamUpdateCaptureDependencies(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_33cuStreamUpdateCaptureDependencies_2generator153 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_5generator154 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUgraphEdgeData_st *__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);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/bindings/driver.pyx":32291
 *     :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, 32291, __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":32292
 *     """
 *     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_33cuStreamUpdateCaptureDependencies_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32292, __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, 32292, __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, 32292, __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":32293
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32293, __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, 32293, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":32292
 *     """
 *     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":32294
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":32295
 *         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_33cuStreamUpdateCaptureDependencies_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 32295, __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":32296
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32296, __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, 32296, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":32295
 *         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":32298
 *         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":32299
 *     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":32298
 *         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":32300
 *     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":32301
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
*/
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phStream = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":32300
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":32303
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32303, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":32304
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     if len(dependencies) > 1:
*/
  __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, 32304, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":32305
 *         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":32306
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32306, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":32307
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32307, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":32308
 *     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":32309
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32309, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32309, __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, 32309, __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, 32309, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 32309, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32309, __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, 32309, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32309, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__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, 32309, __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, 32309, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":32308
 *     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":32311
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32311, __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":32312
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32312, __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":32306
 *     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":32313
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32313, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":32314
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32314, __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":32313
 *             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":32315
 *     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":32316
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32316, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":32317
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32317, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_7, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":32318
 *     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":32319
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32319, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32319, __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, 32319, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 32319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __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, 32319, __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, 32319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32319, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32319, __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, 32319, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":32318
 *     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":32320
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32320, __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":32321
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32321, __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":32316
 *         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":32322
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32322, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":32323
 *             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(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":32322
 *         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":32324
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32325
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, cydependencyData, 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_cydependencyData, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32325, __pyx_L15_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":32324
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamUpdateCaptureDependencies(cyhStream, cydependencies, cydependencyData, numDependencies, flags)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L16;
        }
        __pyx_L15_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L16:;
      }
  }

  /* "cuda/bindings/driver.pyx":32326
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32326, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":32327
 *         err = cydriver.cuStreamUpdateCaptureDependencies(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":32326
 *     with nogil:
 *         err = cydriver.cuStreamUpdateCaptureDependencies(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":32328
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 32328, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":32329
 *         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":32328
 *     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":32330
 *     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, 32330, __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, 32330, __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, 32330, __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(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32330, __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, 32330, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32248
 *     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]], dependencyData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator153);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_33cuStreamUpdateCaptureDependencies_5generator154);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":32332
 *     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_457cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_456cuStreamAttachMemAsync, "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_457cuStreamAttachMemAsync = {"cuStreamAttachMemAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_457cuStreamAttachMemAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_456cuStreamAttachMemAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_457cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32332, __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, 32332, __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, 32332, __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, 32332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32332, __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, 32332, __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, 32332, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32332, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32332, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 32332, __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, 32333, __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, 32333, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 32332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_456cuStreamAttachMemAsync(__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_456cuStreamAttachMemAsync(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamAttachMemAsync", 0);

  /* "cuda/bindings/driver.pyx":32423
 *     """
 *     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":32424
 *     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":32423
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32425
 *     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":32426
 *         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, 32426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32425
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32428
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32428, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32429
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32429, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32431
 *     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":32432
 *     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":32431
 *     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":32433
 *     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":32434
 *         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, 32434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":32433
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32436
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32436, __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, 32436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32437
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32437, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32438
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32439
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamAttachMemAsync(__pyx_v_cyhStream, __pyx_v_cydptr, __pyx_v_length, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32439, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32438
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32440
 *     with nogil:
 *         err = cydriver.cuStreamAttachMemAsync(cyhStream, cydptr, length, 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, 32440, __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, 32440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32440, __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, 32440, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32332
 *     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_7);
  __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":32442
 *     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_459cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_458cuStreamQuery, "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_459cuStreamQuery = {"cuStreamQuery", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_459cuStreamQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_458cuStreamQuery};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_459cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32442, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32442, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32442, __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, 32442, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32442, __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, 32442, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_458cuStreamQuery(__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_458cuStreamQuery(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamQuery", 0);

  /* "cuda/bindings/driver.pyx":32469
 *     """
 *     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":32470
 *     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":32469
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32471
 *     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":32472
 *         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, 32472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32471
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32474
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32474, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32475
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamQuery(cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32475, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32476
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamQuery(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32477
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamQuery(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamQuery(__pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32477, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32476
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32478
 *     with nogil:
 *         err = cydriver.cuStreamQuery(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, 32478, __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, 32478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32478, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32442
 *     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_7);
  __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":32480
 *     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_461cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_460cuStreamSynchronize, "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_461cuStreamSynchronize = {"cuStreamSynchronize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_461cuStreamSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_460cuStreamSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_461cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32480, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32480, __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, 32480, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32480, __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, 32480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_460cuStreamSynchronize(__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_460cuStreamSynchronize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamSynchronize", 0);

  /* "cuda/bindings/driver.pyx":32506
 *     """
 *     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":32507
 *     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":32506
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32508
 *     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":32509
 *         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, 32509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32508
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32511
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32511, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32512
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32512, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32513
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamSynchronize(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32514
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamSynchronize(__pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32514, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32513
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32515
 *     with nogil:
 *         err = cydriver.cuStreamSynchronize(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, 32515, __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, 32515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32515, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32480
 *     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_7);
  __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":32517
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_463cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_462cuStreamDestroy, "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_463cuStreamDestroy = {"cuStreamDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_463cuStreamDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_462cuStreamDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_463cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32517, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32517, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32517, __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, 32517, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32517, __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, 32517, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_462cuStreamDestroy(__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_462cuStreamDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamDestroy", 0);

  /* "cuda/bindings/driver.pyx":32544
 *     """
 *     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":32545
 *     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":32544
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32546
 *     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":32547
 *         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, 32547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32546
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32549
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32549, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32550
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32550, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32551
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamDestroy(cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32552
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamDestroy(__pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32552, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32551
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32553
 *     with nogil:
 *         err = cydriver.cuStreamDestroy(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, 32553, __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, 32553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32553, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32517
 *     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_7);
  __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":32555
 *     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_465cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_464cuStreamCopyAttributes, "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_465cuStreamCopyAttributes = {"cuStreamCopyAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_465cuStreamCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_464cuStreamCopyAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_465cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32555, __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, 32555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32555, __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, 32555, __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, 32555, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32555, __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, 32555, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_464cuStreamCopyAttributes(__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_464cuStreamCopyAttributes(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamCopyAttributes", 0);

  /* "cuda/bindings/driver.pyx":32579
 *     """
 *     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":32580
 *     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":32579
 *     """
 *     cdef cydriver.CUstream cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32581
 *     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":32582
 *         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, 32582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32581
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUstream,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32584
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUstream(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUstream><void_ptr>psrc
 *     cdef cydriver.CUstream cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32584, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32585
 *     else:
 *         psrc = int(CUstream(src))
 *     cysrc = <cydriver.CUstream><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cydst
 *     if dst is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32585, __pyx_L1_error)
  __pyx_v_cysrc = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32587
 *     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":32588
 *     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":32587
 *     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":32589
 *     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":32590
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUstream(dst))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":32589
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32592
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUstream(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32592, __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, 32592, __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_L4:;

  /* "cuda/bindings/driver.pyx":32593
 *     else:
 *         pdst = int(CUstream(dst))
 *     cydst = <cydriver.CUstream><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32593, __pyx_L1_error)
  __pyx_v_cydst = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32594
 *         pdst = int(CUstream(dst))
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32595
 *     cydst = <cydriver.CUstream><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamCopyAttributes(__pyx_v_cydst, __pyx_v_cysrc); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32595, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32594
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32596
 *     with nogil:
 *         err = cydriver.cuStreamCopyAttributes(cydst, cysrc)
 *     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, 32596, __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, 32596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32596, __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, 32596, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32555
 *     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_7);
  __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":32598
 *     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_467cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_466cuStreamGetAttribute, "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_467cuStreamGetAttribute = {"cuStreamGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_467cuStreamGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_466cuStreamGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_467cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32598, __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, 32598, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32598, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32598, __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, 32598, __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, 32598, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32598, __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, 32598, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 32599, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_466cuStreamGetAttribute(__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_466cuStreamGetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUstreamAttrID __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("cuStreamGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":32624
 *     """
 *     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":32625
 *     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":32624
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32626
 *     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":32627
 *         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, 32627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32626
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32629
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32629, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32630
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstreamAttrID cyattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32630, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32631
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":32632
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32632, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamAttrValue *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":32633
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32634
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32634, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":32633
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32635
 *     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":32636
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32636, __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, 32636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 32636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 32636, __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, 32636, __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, 32636, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32635
 *     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":32637
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32637, __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, 32637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 32637, __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, 32637, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_value_out)) != (0)) __PYX_ERR(0, 32637, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32598
 *     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_8);
  __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":32639
 *     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_469cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_468cuStreamSetAttribute, "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_469cuStreamSetAttribute = {"cuStreamSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_469cuStreamSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_468cuStreamSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_469cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32639, __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, 32639, __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, 32639, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32639, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32639, __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, 32639, __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, 32639, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32639, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32639, __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, 32639, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 32640, __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, 32640, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_468cuStreamSetAttribute(__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_468cuStreamSetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUstreamAttrID __pyx_t_6;
  union CUlaunchAttributeValue_union *__pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":32666
 *     """
 *     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":32667
 *     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":32666
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32668
 *     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":32669
 *         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, 32669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32668
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32671
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32671, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32672
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32672, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32673
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 32673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":32674
 *     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_7 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyvalue_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":32675
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32676
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamSetAttribute(__pyx_v_cyhStream, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32676, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":32675
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32677
 *     with nogil:
 *         err = cydriver.cuStreamSetAttribute(cyhStream, cyattr, cyvalue_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, 32677, __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, 32677, __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, 32677, __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, 32677, __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, 32677, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32639
 *     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_9);
  __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":32679
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_471cuEventCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_470cuEventCreate, "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_471cuEventCreate = {"cuEventCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_471cuEventCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_470cuEventCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_471cuEventCreate(PyObject *__pyx_self, 
#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, 32679, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32679, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32679, __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, 32679, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32679, __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, 32680, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 32679, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_470cuEventCreate(__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_470cuEventCreate(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventCreate", 0);

  /* "cuda/bindings/driver.pyx":32720
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32720, __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":32721
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventCreate(<cydriver.CUevent*>phEvent._pvt_ptr, Flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32722
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuEventCreate(((CUevent *)__pyx_v_phEvent->_pvt_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32722, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":32721
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":32723
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":32724
 *         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, 32724, __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, 32724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 32724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 32724, __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, 32724, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":32723
 *     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":32725
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32725, __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, 32725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 32725, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 32725, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32679
 *     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_6);
  __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":32727
 *     return (_dict_CUresult[err], phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_473cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_472cuEventRecord, "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_473cuEventRecord = {"cuEventRecord", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_473cuEventRecord, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_472cuEventRecord};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_473cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32727, __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, 32727, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32727, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32727, __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, 32727, __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, 32727, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32727, __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, 32727, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_472cuEventRecord(__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_472cuEventRecord(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventRecord", 0);

  /* "cuda/bindings/driver.pyx":32765
 *     """
 *     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":32766
 *     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":32765
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32767
 *     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":32768
 *         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, 32768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32767
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32770
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32770, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32771
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32771, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32773
 *     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":32774
 *     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":32773
 *     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":32775
 *     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":32776
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":32775
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32778
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hEvent};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32778, __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, 32778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32779
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32779, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32780
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32781
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventRecord(__pyx_v_cyhEvent, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32781, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32780
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32782
 *     with nogil:
 *         err = cydriver.cuEventRecord(cyhEvent, 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, 32782, __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, 32782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32782, __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, 32782, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32727
 *     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_7);
  __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":32784
 *     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_475cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_474cuEventRecordWithFlags, "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_475cuEventRecordWithFlags = {"cuEventRecordWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_475cuEventRecordWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_474cuEventRecordWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_475cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32784, __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, 32784, __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, 32784, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32784, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32784, __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, 32784, __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, 32784, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32784, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 32784, __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, 32785, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 32784, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_474cuEventRecordWithFlags(__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_474cuEventRecordWithFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventRecordWithFlags", 0);

  /* "cuda/bindings/driver.pyx":32832
 *     """
 *     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":32833
 *     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":32832
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32834
 *     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":32835
 *         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, 32835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32834
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32837
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUevent cyhEvent
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32837, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32838
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32838, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32840
 *     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":32841
 *     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":32840
 *     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":32842
 *     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":32843
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":32842
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":32845
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hEvent};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32845, __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, 32845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":32846
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32846, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32847
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32848
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventRecordWithFlags(__pyx_v_cyhEvent, __pyx_v_cyhStream, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32848, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32847
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":32849
 *     with nogil:
 *         err = cydriver.cuEventRecordWithFlags(cyhEvent, cyhStream, 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, 32849, __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, 32849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32849, __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, 32849, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32784
 *     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_7);
  __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":32851
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_477cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_476cuEventQuery, "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_477cuEventQuery = {"cuEventQuery", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_477cuEventQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_476cuEventQuery};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_477cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32851, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32851, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32851, __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, 32851, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32851, __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, 32851, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_476cuEventQuery(__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_476cuEventQuery(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventQuery", 0);

  /* "cuda/bindings/driver.pyx":32882
 *     """
 *     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":32883
 *     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":32882
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32884
 *     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":32885
 *         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, 32885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32884
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32887
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32887, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32888
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventQuery(cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32888, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32889
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventQuery(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32890
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventQuery(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventQuery(__pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32890, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32889
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32891
 *     with nogil:
 *         err = cydriver.cuEventQuery(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, 32891, __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, 32891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32891, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32851
 *     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_7);
  __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":32893
 *     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_479cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_478cuEventSynchronize, "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_479cuEventSynchronize = {"cuEventSynchronize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_479cuEventSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_478cuEventSynchronize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_479cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32893, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32893, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32893, __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, 32893, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32893, __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, 32893, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_478cuEventSynchronize(__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_478cuEventSynchronize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventSynchronize", 0);

  /* "cuda/bindings/driver.pyx":32923
 *     """
 *     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":32924
 *     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":32923
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32925
 *     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":32926
 *         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, 32926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32925
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32928
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32928, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32929
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32929, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32930
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventSynchronize(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32931
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventSynchronize(__pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32931, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32930
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32932
 *     with nogil:
 *         err = cydriver.cuEventSynchronize(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, 32932, __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, 32932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32932, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32893
 *     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_7);
  __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":32934
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_481cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_480cuEventDestroy, "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_481cuEventDestroy = {"cuEventDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_481cuEventDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_480cuEventDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_481cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32934, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 32934, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32934, __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, 32934, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32934, __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, 32934, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_480cuEventDestroy(__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_480cuEventDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventDestroy", 0);

  /* "cuda/bindings/driver.pyx":32961
 *     """
 *     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":32962
 *     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":32961
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32963
 *     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":32964
 *         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, 32964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":32963
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":32966
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32966, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":32967
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuEventDestroy(cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 32967, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":32968
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuEventDestroy(cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":32969
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     with nogil:
 *         err = cydriver.cuEventDestroy(cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventDestroy(__pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 32969, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":32968
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":32970
 *     with nogil:
 *         err = cydriver.cuEventDestroy(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, 32970, __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, 32970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 32970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 32970, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32934
 *     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_7);
  __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":32972
 *     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_483cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_482cuEventElapsedTime, "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). 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    Time b""etween `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_483cuEventElapsedTime = {"cuEventElapsedTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_483cuEventElapsedTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_482cuEventElapsedTime};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_483cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_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, 32972, __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, 32972, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 32972, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 32972, __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, 32972, __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, 32972, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 32972, __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, 32972, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_482cuEventElapsedTime(__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_482cuEventElapsedTime(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventElapsedTime", 0);

  /* "cuda/bindings/driver.pyx":33020
 *     """
 *     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":33021
 *     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":33020
 *     """
 *     cdef cydriver.CUevent cyhEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33022
 *     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":33023
 *         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, 33023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEnd = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33022
 *     if hEnd is None:
 *         phEnd = 0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33025
 *         phEnd = int(hEnd)
 *     else:
 *         phEnd = int(CUevent(hEnd))             # <<<<<<<<<<<<<<
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd
 *     cdef cydriver.CUevent cyhStart
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEnd};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33025, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEnd = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33026
 *     else:
 *         phEnd = int(CUevent(hEnd))
 *     cyhEnd = <cydriver.CUevent><void_ptr>phEnd             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUevent cyhStart
 *     if hStart is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEnd); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33026, __pyx_L1_error)
  __pyx_v_cyhEnd = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33028
 *     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":33029
 *     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":33028
 *     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":33030
 *     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":33031
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)             # <<<<<<<<<<<<<<
 *     else:
 *         phStart = int(CUevent(hStart))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hStart); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStart = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33030
 *     if hStart is None:
 *         phStart = 0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33033
 *         phStart = int(hStart)
 *     else:
 *         phStart = int(CUevent(hStart))             # <<<<<<<<<<<<<<
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStart};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33033, __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, 33033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStart = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33034
 *     else:
 *         phStart = int(CUevent(hStart))
 *     cyhStart = <cydriver.CUevent><void_ptr>phStart             # <<<<<<<<<<<<<<
 *     cdef float pMilliseconds = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStart); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33034, __pyx_L1_error)
  __pyx_v_cyhStart = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33035
 *         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":33036
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33037
 *     cdef float pMilliseconds = 0
 *     with nogil:
 *         err = cydriver.cuEventElapsedTime(&pMilliseconds, cyhStart, cyhEnd)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventElapsedTime((&__pyx_v_pMilliseconds), __pyx_v_cyhStart, __pyx_v_cyhEnd); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33037, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33036
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":33038
 *     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":33039
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33039, __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, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 33039, __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, 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_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33038
 *     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":33040
 *     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_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_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33040, __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, 33040, __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 = PyFloat_FromDouble(__pyx_v_pMilliseconds); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33040, __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, 33040, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 33040, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":32972
 *     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_7);
  __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":33042
 *     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_485cuImportExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_484cuImportExternalMemory, "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\nIf :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD`, then\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::fd must be a\nvalid file descriptor referencing a dma_buf object and\n:py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.flags` must be zero.\nImporting a dma_buf object is suppor""ted only on Tegra Jetson platform\nstarting with Thor series. Mapping an imported dma_buf object as CUDA\nmipmapped array using\n:py:obj:`~.cuExternalMemoryGetMappedMipmappedArray` is not supported.\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_485cuImportExternalMemory = {"cuImportExternalMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_485cuImportExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_484cuImportExternalMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_485cuImportExternalMemory(PyObject *__pyx_self, 
#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, 33042, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 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, "cuImportExternalMemory", 0) < (0)) __PYX_ERR(0, 33042, __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, 33042, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __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)
    }
    __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, 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.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, 33043, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_484cuImportExternalMemory(__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_484cuImportExternalMemory(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;
  size_t __pyx_t_3;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuImportExternalMemory", 0);

  /* "cuda/bindings/driver.pyx":33197
 *     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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33197, __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":33198
 *     """
 *     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_5 = (((PyObject *)__pyx_v_memHandleDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_memHandleDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cymemHandleDesc_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":33199
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33200
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuImportExternalMemory(((CUexternalMemory *)__pyx_v_extMem_out->_pvt_ptr), __pyx_v_cymemHandleDesc_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33200, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33199
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":33201
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":33202
 *         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, 33202, __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, 33202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 33202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33202, __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, 33202, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33201
 *     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":33203
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33203, __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, 33203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33203, __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, 33203, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extMem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extMem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_extMem_out)) != (0)) __PYX_ERR(0, 33203, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33042
 *     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_7);
  __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":33205
 *     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_487cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_486cuExternalMemoryGetMappedBuffer, "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_487cuExternalMemoryGetMappedBuffer = {"cuExternalMemoryGetMappedBuffer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_487cuExternalMemoryGetMappedBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_486cuExternalMemoryGetMappedBuffer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_487cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33205, __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, 33205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33205, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33205, __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, 33205, __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, 33205, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33205, __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, 33205, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 33206, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_486cuExternalMemoryGetMappedBuffer(__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_486cuExternalMemoryGetMappedBuffer(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__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("cuExternalMemoryGetMappedBuffer", 0);

  /* "cuda/bindings/driver.pyx":33257
 *     """
 *     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":33258
 *     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":33257
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33259
 *     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":33260
 *         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, 33260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33259
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33262
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33262, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33263
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33263, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33264
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33264, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_devPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":33265
 *     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_6 = __pyx_v_bufferDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cybufferDesc_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":33266
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33267
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedBuffer(((CUdeviceptr *)__pyx_v_devPtr->_pvt_ptr), __pyx_v_cyextMem, __pyx_v_cybufferDesc_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33267, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33266
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33268
 *     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":33269
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33269, __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, 33269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 33269, __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, 33269, __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, 33269, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33268
 *     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":33270
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33270, __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, 33270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 33270, __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, 33270, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_devPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_devPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_devPtr)) != (0)) __PYX_ERR(0, 33270, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33205
 *     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_8);
  __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":33272
 *     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_489cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_488cuExternalMemoryGetMappedMipmappedArray, "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\nMapping `extMem` imported from a handle of type\n:py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD`, is not supported.\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:`~.CUD""A_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\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_489cuExternalMemoryGetMappedMipmappedArray = {"cuExternalMemoryGetMappedMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_489cuExternalMemoryGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_488cuExternalMemoryGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_489cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33272, __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, 33272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33272, __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, 33272, __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, 33272, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33272, __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, 33272, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 33273, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_488cuExternalMemoryGetMappedMipmappedArray(__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_488cuExternalMemoryGetMappedMipmappedArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__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("cuExternalMemoryGetMappedMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":33330
 *     """
 *     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":33331
 *     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":33330
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33332
 *     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":33333
 *         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, 33333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33332
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33335
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33335, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33336
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33336, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33337
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33337, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_mipmap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":33338
 *     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_6 = __pyx_v_mipmapDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cymipmapDesc_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":33339
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33340
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuExternalMemoryGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_mipmap->_pvt_ptr), __pyx_v_cyextMem, __pyx_v_cymipmapDesc_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33340, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":33339
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33341
 *     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":33342
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33342, __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, 33342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 33342, __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, 33342, __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, 33342, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33341
 *     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":33343
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33343, __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, 33343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 33343, __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, 33343, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mipmap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mipmap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_mipmap)) != (0)) __PYX_ERR(0, 33343, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33272
 *     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_8);
  __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":33345
 *     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_491cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_490cuDestroyExternalMemory, "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_491cuDestroyExternalMemory = {"cuDestroyExternalMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_491cuDestroyExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_490cuDestroyExternalMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_491cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33345, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 33345, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33345, __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, 33345, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33345, __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, 33345, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_490cuDestroyExternalMemory(__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_490cuDestroyExternalMemory(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDestroyExternalMemory", 0);

  /* "cuda/bindings/driver.pyx":33369
 *     """
 *     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":33370
 *     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":33369
 *     """
 *     cdef cydriver.CUexternalMemory cyextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33371
 *     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":33372
 *         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, 33372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33371
 *     if extMem is None:
 *         pextMem = 0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33374
 *         pextMem = int(extMem)
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extMem};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33374, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33375
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33375, __pyx_L1_error)
  __pyx_v_cyextMem = ((CUexternalMemory)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33376
 *         pextMem = int(CUexternalMemory(extMem))
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33377
 *     cyextMem = <cydriver.CUexternalMemory><void_ptr>pextMem
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalMemory(__pyx_v_cyextMem); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33377, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33376
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33378
 *     with nogil:
 *         err = cydriver.cuDestroyExternalMemory(cyextMem)
 *     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, 33378, __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, 33378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 33378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33378, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33345
 *     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_7);
  __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":33380
 *     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_493cuImportExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_492cuImportExternalSemaphore, "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_493cuImportExternalSemaphore = {"cuImportExternalSemaphore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_493cuImportExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_492cuImportExternalSemaphore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_493cuImportExternalSemaphore(PyObject *__pyx_self, 
#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, 33380, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 33380, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33380, __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, 33380, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33380, __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, 33380, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 33381, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_492cuImportExternalSemaphore(__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_492cuImportExternalSemaphore(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;
  size_t __pyx_t_3;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuImportExternalSemaphore", 0);

  /* "cuda/bindings/driver.pyx":33520
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33520, __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":33521
 *     """
 *     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_5 = (((PyObject *)__pyx_v_semHandleDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_semHandleDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cysemHandleDesc_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":33522
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33523
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuImportExternalSemaphore(((CUexternalSemaphore *)__pyx_v_extSem_out->_pvt_ptr), __pyx_v_cysemHandleDesc_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33523, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33522
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":33524
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":33525
 *         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, 33525, __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, 33525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 33525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33525, __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, 33525, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":33524
 *     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":33526
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33526, __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, 33526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33526, __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, 33526, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extSem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extSem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_extSem_out)) != (0)) __PYX_ERR(0, 33526, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33380
 *     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_7);
  __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":33528
 *     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_495cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_494cuSignalExternalSemaphoresAsync, "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. NvSciSyncFence associated with semaphore object""\nof the type :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` can\nbe timestamp enabled. For this the NvSciSyncAttrList used to create the\nobject must have the value of NvSciSyncAttrKey_WaiterRequireTimestamps\nkey set to true. Timestamps are emitted asynchronously by the GPU and\nCUDA saves the GPU timestamp in the corresponding NvSciSyncFence at the\ntime of signal on GPU. Users are expected to convert GPU clocks to CPU\nclocks using appropriate scaling functions. Users are expected to wait\nfor the completion of the fence before extracting timestamp using\nappropriate NvSciSync APIs. Users are expected to ensure that there is\nonly one outstanding timestamp enabled fence per Cuda-NvSciSync object\nat any point of time, failing which leads to undefined behavior.\nExtracting the timestamp before the corresponding fence is signalled\ncould lead to undefined behaviour. Timestamp extracted via appropriate\nNvSciSync API would be in microseconds.\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 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:`~.cuWaitExt""ernalSemaphoresAsync`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_495cuSignalExternalSemaphoresAsync = {"cuSignalExternalSemaphoresAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_495cuSignalExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_494cuSignalExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_495cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33528, __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, 33528, __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, 33528, __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, 33528, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33528, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33528, __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, 33528, __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, 33528, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33528, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33528, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33528, __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, 33529, __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, 33528, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_494cuSignalExternalSemaphoresAsync(__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_2generator155(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33644
 *     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_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, 33644, __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_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_cuSignalExternalSemaphoresAsync, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33644, __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_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, 33644, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33644, __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, 33644, __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, 33644, __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, 33644, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 33644, __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, 33644, __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, 33644, __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_5generator156(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33647
 *         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_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, 33647, __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_5generator156, ((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_cuSignalExternalSemaphoresAsync, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33647, __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_5generator156(__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, 33647, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33647, __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, 33647, __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, 33647, __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, 33647, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 33647, __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, 33647, __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, 33647, __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":33528
 *     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_494cuSignalExternalSemaphoresAsync(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_2generator155 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator156 = 0;
  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;
  int __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_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":33636
 *     """
 *     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":33637
 *     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":33636
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33638
 *     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":33639
 *         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, 33639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33638
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33641
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33641, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33642
 *     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_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, 33642, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33643
 *         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, 33643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_3 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":33644
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 33644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":33645
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33645, __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, 33645, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33644
 *     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":33646
 *     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_6 = (__pyx_v_extSemArray == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33646, __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":33647
 *         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, 33647, __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, 33647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 33647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":33648
 *     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_t_4 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33648, __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, 33648, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33647
 *         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":33649
 *     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":33650
 *         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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33650, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33651
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33651, __pyx_L1_error)
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_7, (sizeof(CUexternalSemaphore))));

    /* "cuda/bindings/driver.pyx":33652
 *     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":33653
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33653, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33653, __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, 33653, __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, 33653, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33653, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33653, __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, 33653, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33653, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33653, __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, 33653, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33652
 *     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":33655
 *             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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33655, __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":33656
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33656, __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":33650
 *         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":33657
 *             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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33657, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33658
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33658, __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":33657
 *             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":33659
 *     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":33660
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33660, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33661
 *     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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33661, __pyx_L1_error)
    __pyx_v_cyparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_7, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

    /* "cuda/bindings/driver.pyx":33662
 *     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":33663
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33663, __pyx_L1_error)
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33663, __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, 33663, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33663, __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, 33663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33663, __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, 33663, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33662
 *     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":33664
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33664, __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":33665
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33665, __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":33660
 *         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":33666
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33666, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33667
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":33666
 *         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":33668
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33668, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_7);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33668, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33668, __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, 33668, __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, 33668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33668, __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_numExtSems); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33668, __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, 33668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33668, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33668, __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, 33668, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33669
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33669, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_7);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33669, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33669, __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, 33669, __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, 33669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33669, __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, 33669, __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, 33669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33669, __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, 33669, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33670
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33671
 *     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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuSignalExternalSemaphoresAsync(__pyx_v_cyextSemArray, __pyx_v_cyparamsArray, __pyx_v_numExtSems, __pyx_v_cystream); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33671, __pyx_L17_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":33670
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":33672
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33672, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L20_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyextSemArray != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L20_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33673
 *         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":33672
 *     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":33674
 *     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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33674, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyparamsArray != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33675
 *         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":33674
 *     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":33676
 *     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, 33676, __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, 33676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 33676, __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, 33676, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33528
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator155);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_31cuSignalExternalSemaphoresAsync_5generator156);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33678
 *     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_497cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_496cuWaitExternalSemaphoresAsync, "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_497cuWaitExternalSemaphoresAsync = {"cuWaitExternalSemaphoresAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_497cuWaitExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_496cuWaitExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_497cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33678, __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, 33678, __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, 33678, __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, 33678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33678, __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, 33678, __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, 33678, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33678, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33678, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33678, __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, 33679, __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, 33678, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_496cuWaitExternalSemaphoresAsync(__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_2generator157(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33771
 *     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_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, 33771, __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_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_cuWaitExternalSemaphoresAsync_lo, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33771, __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_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, 33771, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33771, __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, 33771, __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, 33771, __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, 33771, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 33771, __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, 33771, __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, 33771, __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_5generator158(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":33774
 *         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_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, 33774, __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_5generator158, ((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_cuWaitExternalSemaphoresAsync_lo, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 33774, __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_5generator158(__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, 33774, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 33774, __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, 33774, __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, 33774, __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, 33774, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 33774, __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, 33774, __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, 33774, __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":33678
 *     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_496cuWaitExternalSemaphoresAsync(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_2generator157 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator158 = 0;
  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;
  int __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_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":33763
 *     """
 *     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":33764
 *     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":33763
 *     """
 *     cdef cydriver.CUstream cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33765
 *     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":33766
 *         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, 33766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33765
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33768
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33768, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33769
 *     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_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, 33769, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33770
 *         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, 33770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_3 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":33771
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 33771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":33772
 *     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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst_2};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33772, __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, 33772, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33771
 *     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":33773
 *     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_6 = (__pyx_v_extSemArray == Py_None);
  if (__pyx_t_6) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33773, __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":33774
 *         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, 33774, __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, 33774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 33774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = (!__pyx_t_6);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/bindings/driver.pyx":33775
 *     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_t_4 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33775, __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, 33775, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":33774
 *         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":33776
 *     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":33777
 *         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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33777, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33778
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33778, __pyx_L1_error)
    __pyx_v_cyextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_7, (sizeof(CUexternalSemaphore))));

    /* "cuda/bindings/driver.pyx":33779
 *     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":33780
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33780, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33780, __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, 33780, __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, 33780, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33780, __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(CUexternalSemaphore))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33780, __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, 33780, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33780, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33780, __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, 33780, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33779
 *     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":33782
 *             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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33782, __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":33783
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33783, __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":33777
 *         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":33784
 *             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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33784, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33785
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33785, __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":33784
 *             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":33786
 *     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":33787
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33787, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33788
 *     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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33788, __pyx_L1_error)
    __pyx_v_cyparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_7, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

    /* "cuda/bindings/driver.pyx":33789
 *     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":33790
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33790, __pyx_L1_error)
      __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33790, __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, 33790, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33790, __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, 33790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33790, __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, 33790, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":33789
 *     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":33791
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33791, __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":33792
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33792, __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":33787
 *         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":33793
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33793, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 == 1);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33794
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":33793
 *         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":33795
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33795, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_7);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_2 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33795, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33795, __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, 33795, __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, 33795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 33795, __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_numExtSems); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33795, __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, 33795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33795, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33795, __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, 33795, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33796
 *         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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33796, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_7);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33796, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33796, __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, 33796, __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, 33796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 33796, __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, 33796, __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, 33796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33796, __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, 33796, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":33797
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33798
 *     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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuWaitExternalSemaphoresAsync(__pyx_v_cyextSemArray, __pyx_v_cyparamsArray, __pyx_v_numExtSems, __pyx_v_cystream); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33798, __pyx_L17_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":33797
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":33799
 *     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_7 = PyObject_Length(__pyx_v_extSemArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33799, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L20_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyextSemArray != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L20_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33800
 *         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":33799
 *     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":33801
 *     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_7 = PyObject_Length(__pyx_v_paramsArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 33801, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L23_bool_binop_done;
  }
  __pyx_t_6 = (__pyx_v_cyparamsArray != NULL);
  __pyx_t_1 = __pyx_t_6;
  __pyx_L23_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":33802
 *         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":33801
 *     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":33803
 *     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, 33803, __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, 33803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 33803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 33803, __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, 33803, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33678
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator157);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_29cuWaitExternalSemaphoresAsync_5generator158);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":33805
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_499cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_498cuDestroyExternalSemaphore, "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_499cuDestroyExternalSemaphore = {"cuDestroyExternalSemaphore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_499cuDestroyExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_498cuDestroyExternalSemaphore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_499cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33805, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 33805, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33805, __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, 33805, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33805, __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, 33805, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_498cuDestroyExternalSemaphore(__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_498cuDestroyExternalSemaphore(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDestroyExternalSemaphore", 0);

  /* "cuda/bindings/driver.pyx":33828
 *     """
 *     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":33829
 *     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":33828
 *     """
 *     cdef cydriver.CUexternalSemaphore cyextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33830
 *     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":33831
 *         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, 33831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextSem = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33830
 *     if extSem is None:
 *         pextSem = 0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33833
 *         pextSem = int(extSem)
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))             # <<<<<<<<<<<<<<
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_extSem};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33833, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextSem = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33834
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33834, __pyx_L1_error)
  __pyx_v_cyextSem = ((CUexternalSemaphore)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33835
 *         pextSem = int(CUexternalSemaphore(extSem))
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33836
 *     cyextSem = <cydriver.CUexternalSemaphore><void_ptr>pextSem
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDestroyExternalSemaphore(__pyx_v_cyextSem); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33836, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33835
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":33837
 *     with nogil:
 *         err = cydriver.cuDestroyExternalSemaphore(cyextSem)
 *     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, 33837, __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, 33837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 33837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33837, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33805
 *     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_7);
  __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":33839
 *     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_501cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_500cuStreamWaitValue32, "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_501cuStreamWaitValue32 = {"cuStreamWaitValue32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_501cuStreamWaitValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_500cuStreamWaitValue32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_501cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33839, __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, 33839, __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, 33839, __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, 33839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33839, __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, 33839, __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, 33839, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33839, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33839, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33839, __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, 33840, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33839, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_500cuStreamWaitValue32(__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_500cuStreamWaitValue32(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitValue32", 0);

  /* "cuda/bindings/driver.pyx":33883
 *     """
 *     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":33884
 *     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":33883
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33885
 *     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":33886
 *         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, 33886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33885
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33888
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33888, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33888, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33889
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33889, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33891
 *     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":33892
 *     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":33891
 *     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":33893
 *     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":33894
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33893
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33896
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33896, __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, 33896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33897
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33897, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33899
 *     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":33900
 *     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":33899
 *     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":33901
 *     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":33902
 *         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, 33902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33901
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33904
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33904, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33905
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)
*/
  __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, 33905, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33906
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33907
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue32(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33907, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33906
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33908
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue32(cystream, cyaddr, cyvalue, 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, 33908, __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, 33908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 33908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33908, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33839
 *     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_7);
  __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":33910
 *     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_503cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_502cuStreamWaitValue64, "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_503cuStreamWaitValue64 = {"cuStreamWaitValue64", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_503cuStreamWaitValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_502cuStreamWaitValue64};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_503cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33910, __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, 33910, __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, 33910, __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, 33910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33910, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33910, __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, 33910, __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, 33910, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33910, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33910, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33910, __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, 33911, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33910, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_502cuStreamWaitValue64(__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_502cuStreamWaitValue64(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWaitValue64", 0);

  /* "cuda/bindings/driver.pyx":33952
 *     """
 *     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":33953
 *     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":33952
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33954
 *     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":33955
 *         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, 33955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33954
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":33957
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33957, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":33958
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33958, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33960
 *     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":33961
 *     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":33960
 *     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":33962
 *     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":33963
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":33962
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":33965
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33965, __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, 33965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":33966
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 33966, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33968
 *     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":33969
 *     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":33968
 *     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":33970
 *     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":33971
 *         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, 33971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":33970
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":33973
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33973, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":33974
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)
*/
  __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, 33974, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":33975
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":33976
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWaitValue64(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 33976, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":33975
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":33977
 *     with nogil:
 *         err = cydriver.cuStreamWaitValue64(cystream, cyaddr, cyvalue, 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, 33977, __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, 33977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 33977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 33977, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33910
 *     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_7);
  __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":33979
 *     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_505cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_504cuStreamWriteValue32, "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_505cuStreamWriteValue32 = {"cuStreamWriteValue32", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_505cuStreamWriteValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_504cuStreamWriteValue32};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_505cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_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, 33979, __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, 33979, __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, 33979, __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, 33979, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 33979, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 33979, __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, 33979, __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, 33979, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 33979, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 33979, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 33979, __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, 33980, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 33979, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_504cuStreamWriteValue32(__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_504cuStreamWriteValue32(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWriteValue32", 0);

  /* "cuda/bindings/driver.pyx":34011
 *     """
 *     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":34012
 *     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":34011
 *     """
 *     cdef cydriver.cuuint32_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34013
 *     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":34014
 *         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, 34014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34013
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34016
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34016, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34017
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *     cyvalue = <cydriver.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34017, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34019
 *     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":34020
 *     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":34019
 *     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":34021
 *     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":34022
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":34021
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34024
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34024, __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, 34024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34025
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34025, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34027
 *     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":34028
 *     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":34027
 *     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":34029
 *     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":34030
 *         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, 34030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34029
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":34032
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34032, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":34033
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)
*/
  __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, 34033, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34034
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34035
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue32(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34035, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34034
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":34036
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue32(cystream, cyaddr, cyvalue, 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, 34036, __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, 34036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 34036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34036, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":33979
 *     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_7);
  __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":34038
 *     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_507cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_506cuStreamWriteValue64, "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_507cuStreamWriteValue64 = {"cuStreamWriteValue64", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_507cuStreamWriteValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_506cuStreamWriteValue64};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_507cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34038, __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, 34038, __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, 34038, __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, 34038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34038, __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, 34038, __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, 34038, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34038, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34038, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34038, __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, 34039, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 34038, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_506cuStreamWriteValue64(__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_506cuStreamWriteValue64(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamWriteValue64", 0);

  /* "cuda/bindings/driver.pyx":34072
 *     """
 *     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":34073
 *     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":34072
 *     """
 *     cdef cydriver.cuuint64_t cyvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34074
 *     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":34075
 *         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, 34075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34074
 *     if value is None:
 *         pvalue = 0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34077
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34077, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34078
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *     cyvalue = <cydriver.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdeviceptr cyaddr
 *     if addr is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34078, __pyx_L1_error)
  __pyx_v_cyvalue = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34080
 *     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":34081
 *     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":34080
 *     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":34082
 *     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":34083
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_paddr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":34082
 *     if addr is None:
 *         paddr = 0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34085
 *         paddr = int(addr)
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr
 *     cdef cydriver.CUstream cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_addr};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34085, __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, 34085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_paddr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34086
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *     cyaddr = <cydriver.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cystream
 *     if stream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34086, __pyx_L1_error)
  __pyx_v_cyaddr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34088
 *     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":34089
 *     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":34088
 *     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":34090
 *     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":34091
 *         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, 34091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34090
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":34093
 *         pstream = int(stream)
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34093, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":34094
 *     else:
 *         pstream = int(CUstream(stream))
 *     cystream = <cydriver.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)
*/
  __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, 34094, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34095
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34096
 *     cystream = <cydriver.CUstream><void_ptr>pstream
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamWriteValue64(__pyx_v_cystream, __pyx_v_cyaddr, __pyx_v_cyvalue, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34096, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34095
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":34097
 *     with nogil:
 *         err = cydriver.cuStreamWriteValue64(cystream, cyaddr, cyvalue, 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, 34097, __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, 34097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 34097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34097, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34038
 *     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_7);
  __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":34099
 *     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_509cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_508cuStreamBatchMemOp, "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.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_509cuStreamBatchMemOp = {"cuStreamBatchMemOp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_509cuStreamBatchMemOp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_508cuStreamBatchMemOp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_509cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34099, __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, 34099, __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, 34099, __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, 34099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34099, __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, 34099, __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, 34099, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34099, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34099, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34099, __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, 34100, __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, 34100, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 34099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_508cuStreamBatchMemOp(__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_2generator159(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":34143
 *     """
 *     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_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, 34143, __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_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_cuStreamBatchMemOp_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 34143, __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_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, 34143, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 34143, __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, 34143, __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, 34143, __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, 34143, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 34143, __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, 34143, __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, 34143, __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":34099
 *     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_508cuStreamBatchMemOp(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_2generator159 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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;
  union CUstreamBatchMemOpParams_union *__pyx_t_13;
  CUresult __pyx_t_14;
  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":34142
 *     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.
 *     """
 *     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, 34142, __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":34143
 *     """
 *     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, 34143, __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, 34143, __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, 34143, __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":34144
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34144, __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, 34144, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":34143
 *     """
 *     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":34146
 *         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":34147
 *     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":34146
 *         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":34148
 *     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":34149
 *         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, 34149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":34148
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34151
 *         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_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_stream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34151, __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, 34151, __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":34152
 *     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_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, 34152, __pyx_L1_error)
  __pyx_v_cystream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":34153
 *         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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34153, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34153, __pyx_L1_error)
    __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34153, __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, 34153, __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, 34153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34153, __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_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34153, __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, 34153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34153, __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_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_5, (2-__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;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34153, __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, 34153, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":34154
 *     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":34155
 *     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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34155, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":34156
 *     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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34156, __pyx_L1_error)
    __pyx_v_cyparamArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_7, (sizeof(CUstreamBatchMemOpParams))));

    /* "cuda/bindings/driver.pyx":34157
 *     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":34158
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34158, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34158, __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, 34158, __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, 34158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34158, __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(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34158, __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, 34158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 34158, __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, 34158, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":34157
 *     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":34159
 *         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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34159, __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":34160
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34160, __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":34155
 *     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":34161
 *         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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34161, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":34162
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":34161
 *         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":34163
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34164
 *         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_14 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamBatchMemOp(__pyx_v_cystream, __pyx_v_count, __pyx_v_cyparamArray, __pyx_v_flags); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34164, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":34163
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":34165
 *     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_7 = PyObject_Length(__pyx_v_paramArray); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 34165, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":34166
 *         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":34165
 *     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":34167
 *     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, 34167, __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, 34167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 34167, __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, 34167, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34099
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator159);
  __Pyx_XDECREF(__pyx_v_paramArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":34169
 *     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_511cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_510cuFuncGetAttribute, "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_511cuFuncGetAttribute = {"cuFuncGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_511cuFuncGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_510cuFuncGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_511cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34169, __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, 34169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34169, __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, 34169, __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, 34169, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34169, __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, 34169, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 34170, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_510cuFuncGetAttribute(__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_510cuFuncGetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUfunction_attribute __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("cuFuncGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":34287
 *     """
 *     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":34288
 *     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":34287
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34289
 *     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":34290
 *         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, 34290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34289
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34292
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34292, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34293
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34293, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34294
 *         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":34295
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 34295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":34296
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34297
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetAttribute((&__pyx_v_pi), __pyx_v_cyattrib, __pyx_v_cyhfunc); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34297, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34296
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34298
 *     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":34299
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34299, __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, 34299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 34299, __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, 34299, __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, 34299, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34298
 *     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":34300
 *     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, 34300, __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, 34300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34300, __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, 34300, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 34300, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34169
 *     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_8);
  __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":34302
 *     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_513cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_512cuFuncSetAttribute, "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_513cuFuncSetAttribute = {"cuFuncSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_513cuFuncSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_512cuFuncSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_513cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34302, __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, 34302, __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, 34302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34302, __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, 34302, __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, 34302, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34302, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34302, __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, 34303, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 34302, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 34303, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_512cuFuncSetAttribute(__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_512cuFuncSetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUfunction_attribute __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("cuFuncSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":34381
 *     """
 *     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":34382
 *     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":34381
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34383
 *     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":34384
 *         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, 34384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34383
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34386
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34386, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34387
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34387, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34388
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUfunction_attribute_enum)__Pyx_PyLong_As_enum__CUfunction_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 34388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattrib = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":34389
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34390
 *     cdef cydriver.CUfunction_attribute cyattrib = attrib.value
 *     with nogil:
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetAttribute(__pyx_v_cyhfunc, __pyx_v_cyattrib, __pyx_v_value); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34390, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34389
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34391
 *     with nogil:
 *         err = cydriver.cuFuncSetAttribute(cyhfunc, cyattrib, value)
 *     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, 34391, __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, 34391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 34391, __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, 34391, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34302
 *     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_8);
  __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":34393
 *     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_515cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_514cuFuncSetCacheConfig, "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_515cuFuncSetCacheConfig = {"cuFuncSetCacheConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_515cuFuncSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_514cuFuncSetCacheConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_515cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34393, __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, 34393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34393, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34393, __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, 34393, __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, 34393, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34393, __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, 34393, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 34394, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_514cuFuncSetCacheConfig(__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_514cuFuncSetCacheConfig(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUfunc_cache __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("cuFuncSetCacheConfig", 0);

  /* "cuda/bindings/driver.pyx":34444
 *     """
 *     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":34445
 *     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":34444
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34446
 *     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":34447
 *         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, 34447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34446
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34449
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34449, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34450
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34450, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34451
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUfunc_cache_enum)__Pyx_PyLong_As_enum__CUfunc_cache_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 34451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyconfig = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":34452
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34453
 *     cdef cydriver.CUfunc_cache cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetCacheConfig(__pyx_v_cyhfunc, __pyx_v_cyconfig); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34453, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":34452
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34454
 *     with nogil:
 *         err = cydriver.cuFuncSetCacheConfig(cyhfunc, cyconfig)
 *     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, 34454, __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, 34454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 34454, __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, 34454, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34393
 *     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_8);
  __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":34456
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_517cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_516cuFuncGetModule, "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_517cuFuncGetModule = {"cuFuncGetModule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_517cuFuncGetModule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_516cuFuncGetModule};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_517cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34456, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 34456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34456, __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, 34456, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34456, __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, 34456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_516cuFuncGetModule(__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_516cuFuncGetModule(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetModule", 0);

  /* "cuda/bindings/driver.pyx":34483
 *     """
 *     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":34484
 *     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":34483
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34485
 *     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":34486
 *         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, 34486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34485
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34488
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34488, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34489
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef CUmodule hmod = CUmodule()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34489, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34490
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34490, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_hmod = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmodule *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":34491
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34492
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetModule(((CUmodule *)__pyx_v_hmod->_pvt_ptr), __pyx_v_cyhfunc); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34492, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34491
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34493
 *     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":34494
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34494, __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, 34494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 34494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34494, __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, 34494, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34493
 *     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":34495
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34495, __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, 34495, __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, 34495, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34495, __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, 34495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hmod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hmod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_hmod)) != (0)) __PYX_ERR(0, 34495, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34456
 *     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_7);
  __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":34497
 *     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_519cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_518cuFuncGetName, "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_519cuFuncGetName = {"cuFuncGetName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_519cuFuncGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_518cuFuncGetName};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_519cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34497, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 34497, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34497, __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, 34497, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34497, __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, 34497, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_518cuFuncGetName(__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_518cuFuncGetName(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncGetName", 0);

  /* "cuda/bindings/driver.pyx":34522
 *     """
 *     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":34523
 *     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":34522
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34524
 *     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":34525
 *         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, 34525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34524
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34527
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34527, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34528
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34528, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34529
 *         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":34530
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34531
 *     cdef const char* name = NULL
 *     with nogil:
 *         err = cydriver.cuFuncGetName(&name, cyhfunc)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetName((&__pyx_v_name), __pyx_v_cyhfunc); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34531, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34530
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34532
 *     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":34533
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34533, __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, 34533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 34533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34533, __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, 34533, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34532
 *     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":34534
 *     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, 34534, __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, 34534, __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, 34534, __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_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, 34534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_t_7 = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(Py_None);
    __pyx_t_7 = Py_None;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34534, __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, 34534, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 34534, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34497
 *     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_7);
  __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":34536
 *     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_521cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_520cuFuncGetParamInfo, "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_521cuFuncGetParamInfo = {"cuFuncGetParamInfo", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_521cuFuncGetParamInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_520cuFuncGetParamInfo};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_521cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34536, __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, 34536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34536, __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, 34536, __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, 34536, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34536, __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, 34537, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 34536, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_520cuFuncGetParamInfo(__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_520cuFuncGetParamInfo(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuFuncGetParamInfo", 0);

  /* "cuda/bindings/driver.pyx":34573
 *     """
 *     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":34574
 *     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":34573
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34575
 *     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":34576
 *         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, 34576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34575
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34578
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34579
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34579, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34580
 *         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":34581
 *     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":34582
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34583
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncGetParamInfo(__pyx_v_cyfunc, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34583, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34582
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34584
 *     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":34585
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34585, __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, 34585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34585, __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, 34585, __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, 34585, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34584
 *     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":34586
 *     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, 34586, __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, 34586, __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, 34586, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34586, __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, 34586, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 34586, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 34586, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34536
 *     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_7);
  __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":34588
 *     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_523cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_522cuFuncIsLoaded, "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_523cuFuncIsLoaded = {"cuFuncIsLoaded", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_523cuFuncIsLoaded, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_522cuFuncIsLoaded};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_523cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34588, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 34588, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34588, __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, 34588, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34588, __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, 34588, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_522cuFuncIsLoaded(__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_522cuFuncIsLoaded(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuFuncIsLoaded", 0);

  /* "cuda/bindings/driver.pyx":34611
 *     """
 *     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":34612
 *     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":34611
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34613
 *     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":34614
 *         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, 34614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34613
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34616
 *         pfunction = int(function)
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     cdef cydriver.CUfunctionLoadingState state
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34616, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34617
 *     else:
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34617, __pyx_L1_error)
  __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34619
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34620
 *     cdef cydriver.CUfunctionLoadingState state
 *     with nogil:
 *         err = cydriver.cuFuncIsLoaded(&state, cyfunction)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncIsLoaded((&__pyx_v_state), __pyx_v_cyfunction); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34620, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34619
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34621
 *     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":34622
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34622, __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, 34622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 34622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34622, __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, 34622, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":34621
 *     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":34623
 *     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, 34623, __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, 34623, __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, 34623, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfunctionLoadingState); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34623, __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, 34623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 34623, __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, 34623, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 34623, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34588
 *     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_7);
  __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":34625
 *     return (_dict_CUresult[err], CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_525cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_524cuFuncLoad, "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_525cuFuncLoad = {"cuFuncLoad", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_525cuFuncLoad, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_524cuFuncLoad};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_525cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34625, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 34625, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34625, __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, 34625, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34625, __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, 34625, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_524cuFuncLoad(__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_524cuFuncLoad(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncLoad", 0);

  /* "cuda/bindings/driver.pyx":34647
 *     """
 *     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":34648
 *     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":34647
 *     """
 *     cdef cydriver.CUfunction cyfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34649
 *     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":34650
 *         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, 34650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34649
 *     if function is None:
 *         pfunction = 0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34652
 *         pfunction = int(function)
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_function};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34652, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34653
 *     else:
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34653, __pyx_L1_error)
  __pyx_v_cyfunction = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34654
 *         pfunction = int(CUfunction(function))
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncLoad(cyfunction)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34655
 *     cyfunction = <cydriver.CUfunction><void_ptr>pfunction
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncLoad(__pyx_v_cyfunction); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34655, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34654
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":34656
 *     with nogil:
 *         err = cydriver.cuFuncLoad(cyfunction)
 *     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, 34656, __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, 34656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 34656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 34656, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34625
 *     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_7);
  __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":34658
 *     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_527cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_526cuLaunchKernel, "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_527cuLaunchKernel = {"cuLaunchKernel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_527cuLaunchKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_526cuLaunchKernel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_527cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __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, 34658, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34658, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34658, __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, 34658, __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, 34658, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 34658, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 34658, __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, 34659, __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, 34659, __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, 34659, __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, 34659, __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, 34659, __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, 34659, __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, 34659, __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, 34659, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, __pyx_nargs); __PYX_ERR(0, 34658, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_526cuLaunchKernel(__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_526cuLaunchKernel(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchKernel", 0);

  /* "cuda/bindings/driver.pyx":34767
 *     """
 *     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":34768
 *     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":34767
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34769
 *     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":34770
 *         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, 34770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":34769
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":34772
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34772, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":34773
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34773, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34775
 *     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":34776
 *     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":34775
 *     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":34777
 *     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":34778
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":34777
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":34780
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34780, __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, 34780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":34781
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34781, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34782
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernelParams};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34782, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":34783
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 34783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cykernelParams_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":34784
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":34785
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 34785, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":34784
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":34786
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34786, __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, 34786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 34786, __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, 34786, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34658
 *     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_7);
  __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":34788
 *     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_529cuLaunchKernelEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_528cuLaunchKernelEx, "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_529cuLaunchKernelEx = {"cuLaunchKernelEx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_529cuLaunchKernelEx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_528cuLaunchKernelEx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_529cuLaunchKernelEx(PyObject *__pyx_self, 
#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, 34788, __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, 34788, __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, 34788, __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, 34788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 34788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 34788, __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, 34788, __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, 34788, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 34788, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 34788, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 34788, __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, 34789, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 34788, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 34789, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_528cuLaunchKernelEx(__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_528cuLaunchKernelEx(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUlaunchConfig_st *__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("cuLaunchKernelEx", 0);

  /* "cuda/bindings/driver.pyx":35012
 *     """
 *     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":35013
 *     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":35012
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35014
 *     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":35015
 *         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, 35015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35014
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35017
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35017, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35018
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35018, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35019
 *         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_6 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":35020
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_kernelParams};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35020, __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":35021
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35021, __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_5));

  /* "cuda/bindings/driver.pyx":35022
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35023
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35023, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35022
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35024
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35024, __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, 35024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 35024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 35024, __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, 35024, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":34788
 *     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_8);
  __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":35026
 *     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_531cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_530cuLaunchCooperativeKernel, "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_531cuLaunchCooperativeKernel = {"cuLaunchCooperativeKernel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_531cuLaunchCooperativeKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_530cuLaunchCooperativeKernel};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_531cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __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, 35026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35026, __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, 35026, __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, 35026, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 35026, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 35026, __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, 35027, __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, 35027, __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, 35027, __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, 35027, __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, 35027, __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, 35027, __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, 35027, __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, 35026, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_530cuLaunchCooperativeKernel(__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_530cuLaunchCooperativeKernel(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernel", 0);

  /* "cuda/bindings/driver.pyx":35115
 *     """
 *     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":35116
 *     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":35115
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35117
 *     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":35118
 *         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, 35118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35117
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35120
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35120, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35121
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35121, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35123
 *     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":35124
 *     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":35123
 *     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":35125
 *     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":35126
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":35125
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35128
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     cykernelParams = _HelperKernelParams(kernelParams)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35128, __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, 35128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35129
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35129, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35130
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_kernelParams};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35130, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cykernelParams = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperKernelParams *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":35131
 *     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_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cykernelParams), __pyx_mstate_global->__pyx_n_u_ckernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cykernelParams_ptr = ((void **)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35132
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35133
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35133, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35132
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":35134
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35134, __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, 35134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35134, __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, 35134, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35026
 *     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_7);
  __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":35136
 *     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_533cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_532cuLaunchCooperativeKernelMultiDevice, "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_533cuLaunchCooperativeKernelMultiDevice = {"cuLaunchCooperativeKernelMultiDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_533cuLaunchCooperativeKernelMultiDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_532cuLaunchCooperativeKernelMultiDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_533cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35136, __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, 35136, __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, 35136, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35136, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35136, __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, 35136, __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, 35136, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35136, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35136, __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, 35137, __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, 35137, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35136, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_532cuLaunchCooperativeKernelMultiDevice(__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_2generator160(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":35289
 *     """
 *     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_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, 35289, __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_2generator160, ((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_cuLaunchCooperativeKernelMultiDe, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 35289, __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_2generator160(__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, 35289, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 35289, __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, 35289, __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, 35289, __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, 35289, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 35289, __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, 35289, __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, 35289, __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":35136
 *     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_532cuLaunchCooperativeKernelMultiDevice(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_2generator160 = 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;
  size_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  struct CUDA_LAUNCH_PARAMS_st *__pyx_t_12;
  CUresult __pyx_t_13;
  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":35288
 *     :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, 35288, __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":35289
 *     """
 *     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, 35289, __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, 35289, __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, 35289, __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":35290
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_launchParamsList_is_not};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35290, __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, 35290, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":35289
 *     """
 *     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":35291
 *     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":35292
 *         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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35292, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35293
 *     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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35293, __pyx_L1_error)
    __pyx_v_cylaunchParamsList = ((CUDA_LAUNCH_PARAMS *)calloc(__pyx_t_6, (sizeof(CUDA_LAUNCH_PARAMS))));

    /* "cuda/bindings/driver.pyx":35294
 *     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":35295
 *         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_1 = NULL;
      __pyx_t_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35295, __pyx_L1_error)
      __pyx_t_7 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35295, __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, 35295, __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, 35295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 35295, __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(CUDA_LAUNCH_PARAMS))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35295, __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, 35295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35295, __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_1, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35295, __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, 35295, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":35294
 *     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":35296
 *         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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35296, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_6;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":35297
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35297, __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":35292
 *         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":35298
 *         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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35298, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":35299
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((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_12;

    /* "cuda/bindings/driver.pyx":35298
 *         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":35300
 *     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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35300, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDevices > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_7 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35300, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35300, __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, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyLong_From_unsigned_int(__pyx_v_numDevices); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __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_7, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35300, __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, 35300, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":35301
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35302
 *     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_13 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchCooperativeKernelMultiDevice(__pyx_v_cylaunchParamsList, __pyx_v_numDevices, __pyx_v_flags); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35302, __pyx_L10_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":35301
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/bindings/driver.pyx":35303
 *     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_6 = PyObject_Length(__pyx_v_launchParamsList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 35303, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 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":35304
 *         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":35303
 *     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":35305
 *     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, 35305, __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, 35305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35305, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35136
 *     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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __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_2generator160);
  __Pyx_XDECREF(__pyx_v_launchParamsList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":35313
 * 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":35315
 * @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":35316
 * 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":35317
 *     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":35316
 * 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":35318
 *     with gil:
 *         cbData.callback(cbData.userData)
 *     free(cbData)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
*/
  free(__pyx_v_cbData);

  /* "cuda/bindings/driver.pyx":35313
 * 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":35320
 *     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_535cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_534cuLaunchHostFunc, "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_535cuLaunchHostFunc = {"cuLaunchHostFunc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_535cuLaunchHostFunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_534cuLaunchHostFunc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_535cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35320, __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, 35320, __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, 35320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35320, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35320, __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, 35320, __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, 35320, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35320, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35320, __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, 35320, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_534cuLaunchHostFunc(__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_534cuLaunchHostFunc(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchHostFunc", 0);

  /* "cuda/bindings/driver.pyx":35382
 *     """
 *     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":35383
 *     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":35382
 *     """
 *     cdef cydriver.CUhostFn cyfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35384
 *     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":35385
 *         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, 35385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35384
 *     if fn is None:
 *         pfn = 0
 *     elif isinstance(fn, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35387
 *         pfn = int(fn)
 *     else:
 *         pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn
 *     cdef cydriver.CUstream cyhStream
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_fn};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35387, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35388
 *     else:
 *         pfn = int(CUhostFn(fn))
 *     cyfn = <cydriver.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35388, __pyx_L1_error)
  __pyx_v_cyfn = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35390
 *     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":35391
 *     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":35390
 *     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":35392
 *     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":35393
 *         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, 35393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":35392
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35395
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hStream};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35395, __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, 35395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35396
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35396, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35397
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_userData};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35397, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cyuserData = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":35398
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuHostCallbackData *cbData = NULL
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyuserData), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyuserData_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35400
 *     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":35401
 * 
 *     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":35402
 *     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":35403
 *     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_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35403, __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, 35403, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35402
 *     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":35404
 *     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":35405
 *         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":35407
 *     cbData.userData = cyuserData_ptr
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35408
 * 
 *     with nogil:
 *         err = cydriver.cuLaunchHostFunc(cyhStream, <cydriver.CUhostFn>cuHostCallbackWrapper, <void *>cbData)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchHostFunc(__pyx_v_cyhStream, ((CUhostFn)__pyx_f_4cuda_8bindings_6driver_cuHostCallbackWrapper), ((void *)__pyx_v_cbData)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35408, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35407
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":35409
 *     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":35410
 *         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":35409
 *     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":35411
 *     if err != cydriver.CUDA_SUCCESS:
 *         free(cbData)
 *     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, 35411, __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, 35411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35411, __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, 35411, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35320
 *     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_7);
  __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":35413
 *     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_537cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_536cuFuncSetBlockShape, "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_537cuFuncSetBlockShape = {"cuFuncSetBlockShape", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_537cuFuncSetBlockShape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_536cuFuncSetBlockShape};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_537cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35413, __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, 35413, __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, 35413, __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, 35413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35413, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35413, __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, 35413, __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, 35413, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35413, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35413, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35413, __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, 35414, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35414, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35414, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35413, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_536cuFuncSetBlockShape(__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_536cuFuncSetBlockShape(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetBlockShape", 0);

  /* "cuda/bindings/driver.pyx":35443
 *     """
 *     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":35444
 *     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":35443
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35445
 *     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":35446
 *         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, 35446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35445
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35448
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35448, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35449
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35449, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35450
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35451
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetBlockShape(__pyx_v_cyhfunc, __pyx_v_x, __pyx_v_y, __pyx_v_z); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35451, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35450
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35452
 *     with nogil:
 *         err = cydriver.cuFuncSetBlockShape(cyhfunc, x, y, z)
 *     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, 35452, __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, 35452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35452, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35413
 *     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_7);
  __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":35454
 *     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_539cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_538cuFuncSetSharedSize, "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_539cuFuncSetSharedSize = {"cuFuncSetSharedSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_539cuFuncSetSharedSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_538cuFuncSetSharedSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_539cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35454, __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, 35454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35454, __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, 35454, __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, 35454, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35454, __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, 35455, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_538cuFuncSetSharedSize(__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_538cuFuncSetSharedSize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuFuncSetSharedSize", 0);

  /* "cuda/bindings/driver.pyx":35481
 *     """
 *     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":35482
 *     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":35481
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35483
 *     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":35484
 *         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, 35484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35483
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35486
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35486, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35487
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35487, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35488
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35489
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedSize(__pyx_v_cyhfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35489, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35488
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35490
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedSize(cyhfunc, numbytes)
 *     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, 35490, __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, 35490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35490, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35454
 *     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_7);
  __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":35492
 *     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_541cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_540cuParamSetSize, "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_541cuParamSetSize = {"cuParamSetSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_541cuParamSetSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_540cuParamSetSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_541cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35492, __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, 35492, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35492, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35492, __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, 35492, __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, 35492, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35492, __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, 35493, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 35492, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_540cuParamSetSize(__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_540cuParamSetSize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetSize", 0);

  /* "cuda/bindings/driver.pyx":35518
 *     """
 *     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":35519
 *     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":35518
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35520
 *     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":35521
 *         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, 35521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35520
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35523
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35523, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35524
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35524, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35525
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35526
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetSize(__pyx_v_cyhfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35526, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35525
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35527
 *     with nogil:
 *         err = cydriver.cuParamSetSize(cyhfunc, numbytes)
 *     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, 35527, __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, 35527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35527, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35492
 *     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_7);
  __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":35529
 *     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_543cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_542cuParamSeti, "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_543cuParamSeti = {"cuParamSeti", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_543cuParamSeti, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_542cuParamSeti};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_543cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35529, __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, 35529, __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, 35529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35529, __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, 35529, __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, 35529, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35529, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35529, __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, 35530, __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, 35530, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35529, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_542cuParamSeti(__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_542cuParamSeti(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSeti", 0);

  /* "cuda/bindings/driver.pyx":35558
 *     """
 *     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":35559
 *     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":35558
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35560
 *     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":35561
 *         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, 35561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35560
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35563
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35563, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35564
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35564, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35565
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35566
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSeti(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35566, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35565
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35567
 *     with nogil:
 *         err = cydriver.cuParamSeti(cyhfunc, offset, value)
 *     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, 35567, __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, 35567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35567, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35529
 *     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_7);
  __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":35569
 *     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_545cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_544cuParamSetf, "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_545cuParamSetf = {"cuParamSetf", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_545cuParamSetf, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_544cuParamSetf};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_545cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35569, __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, 35569, __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, 35569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35569, __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, 35569, __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, 35569, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35569, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35569, __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, 35570, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 35570, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_544cuParamSetf(__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_544cuParamSetf(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetf", 0);

  /* "cuda/bindings/driver.pyx":35598
 *     """
 *     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":35599
 *     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":35598
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35600
 *     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":35601
 *         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, 35601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35600
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35603
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35603, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35604
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35604, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35605
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35606
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetf(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35606, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35605
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35607
 *     with nogil:
 *         err = cydriver.cuParamSetf(cyhfunc, offset, value)
 *     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, 35607, __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, 35607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35607, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35569
 *     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_7);
  __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":35609
 *     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_547cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_546cuParamSetv, "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_547cuParamSetv = {"cuParamSetv", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_547cuParamSetv, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_546cuParamSetv};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_547cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35609, __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, 35609, __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, 35609, __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, 35609, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35609, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35609, __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, 35609, __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, 35609, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35609, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35609, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35609, __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, 35610, __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, 35610, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 35609, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_546cuParamSetv(__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_546cuParamSetv(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetv", 0);

  /* "cuda/bindings/driver.pyx":35640
 *     """
 *     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":35641
 *     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":35640
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35642
 *     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":35643
 *         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, 35643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35642
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35645
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     cyptr = _HelperInputVoidPtr(ptr)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35645, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35646
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35646, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35647
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ptr};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35647, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyptr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":35648
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyptr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyptr_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35649
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35650
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetv(__pyx_v_cyhfunc, __pyx_v_offset, __pyx_v_cyptr_ptr, __pyx_v_numbytes); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35650, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35649
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35651
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35651, __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, 35651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35651, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35609
 *     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_7);
  __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":35653
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_549cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_548cuLaunch, "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_549cuLaunch = {"cuLaunch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_549cuLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_548cuLaunch};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_549cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35653, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 35653, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35653, __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, 35653, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35653, __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, 35653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_548cuLaunch(__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_548cuLaunch(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunch", 0);

  /* "cuda/bindings/driver.pyx":35690
 *     """
 *     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":35691
 *     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":35690
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35692
 *     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":35693
 *         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, 35693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35692
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35695
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35695, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35695, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35696
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35696, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35697
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLaunch(cyf)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35698
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunch(__pyx_v_cyf); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35698, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35697
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35699
 *     with nogil:
 *         err = cydriver.cuLaunch(cyf)
 *     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, 35699, __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, 35699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35699, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35653
 *     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_7);
  __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":35701
 *     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_551cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_550cuLaunchGrid, "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_551cuLaunchGrid = {"cuLaunchGrid", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_551cuLaunchGrid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_550cuLaunchGrid};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_551cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35701, __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, 35701, __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, 35701, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35701, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35701, __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, 35701, __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, 35701, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35701, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35701, __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, 35702, __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, 35702, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 35701, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_550cuLaunchGrid(__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_550cuLaunchGrid(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchGrid", 0);

  /* "cuda/bindings/driver.pyx":35742
 *     """
 *     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":35743
 *     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":35742
 *     """
 *     cdef cydriver.CUfunction cyf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35744
 *     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":35745
 *         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, 35745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35744
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35747
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35747, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35748
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35748, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35749
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35750
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunchGrid(cyf, grid_width, grid_height)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchGrid(__pyx_v_cyf, __pyx_v_grid_width, __pyx_v_grid_height); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35750, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35749
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35751
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35751, __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, 35751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 35751, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35701
 *     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_7);
  __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":35753
 *     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_553cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_552cuLaunchGridAsync, "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_553cuLaunchGridAsync = {"cuLaunchGridAsync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_553cuLaunchGridAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_552cuLaunchGridAsync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_553cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35753, __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, 35753, __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, 35753, __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, 35753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35753, __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, 35753, __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, 35753, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35753, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35753, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35753, __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, 35754, __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, 35754, __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, 35753, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_552cuLaunchGridAsync(__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_552cuLaunchGridAsync(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLaunchGridAsync", 0);

  /* "cuda/bindings/driver.pyx":35802
 *     """
 *     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":35803
 *     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":35802
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35804
 *     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":35805
 *         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, 35805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35804
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35807
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUfunction cyf
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35807, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35808
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyf
 *     if f is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35808, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35810
 *     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":35811
 *     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":35810
 *     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":35812
 *     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":35813
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pf = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":35812
 *     if f is None:
 *         pf = 0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35815
 *         pf = int(f)
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35815, __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, 35815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pf = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35816
 *     else:
 *         pf = int(CUfunction(f))
 *     cyf = <cydriver.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35816, __pyx_L1_error)
  __pyx_v_cyf = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35817
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35818
 *     cyf = <cydriver.CUfunction><void_ptr>pf
 *     with nogil:
 *         err = cydriver.cuLaunchGridAsync(cyf, grid_width, grid_height, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLaunchGridAsync(__pyx_v_cyf, __pyx_v_grid_width, __pyx_v_grid_height, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35818, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35817
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":35819
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35819, __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, 35819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35819, __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, 35819, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35753
 *     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_7);
  __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":35821
 *     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_555cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_554cuParamSetTexRef, "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_555cuParamSetTexRef = {"cuParamSetTexRef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_555cuParamSetTexRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_554cuParamSetTexRef};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_555cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35821, __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, 35821, __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, 35821, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35821, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35821, __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, 35821, __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, 35821, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35821, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35821, __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, 35822, __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, 35821, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_554cuParamSetTexRef(__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_554cuParamSetTexRef(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuParamSetTexRef", 0);

  /* "cuda/bindings/driver.pyx":35848
 *     """
 *     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":35849
 *     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":35848
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35850
 *     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":35851
 *         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, 35851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35850
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35853
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef cydriver.CUfunction cyhfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35853, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35854
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35854, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35856
 *     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":35857
 *     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":35856
 *     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":35858
 *     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":35859
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":35858
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":35861
 *         phfunc = int(hfunc)
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hfunc};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35861, __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, 35861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":35862
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35862, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35863
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35864
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuParamSetTexRef(__pyx_v_cyhfunc, __pyx_v_texunit, __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35864, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":35863
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":35865
 *     with nogil:
 *         err = cydriver.cuParamSetTexRef(cyhfunc, texunit, cyhTexRef)
 *     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, 35865, __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, 35865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 35865, __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, 35865, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35821
 *     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_7);
  __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":35867
 *     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_557cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_556cuFuncSetSharedMemConfig, "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_557cuFuncSetSharedMemConfig = {"cuFuncSetSharedMemConfig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_557cuFuncSetSharedMemConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_556cuFuncSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_557cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35867, __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, 35867, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35867, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35867, __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, 35867, __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, 35867, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35867, __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, 35867, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 35868, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_556cuFuncSetSharedMemConfig(__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_556cuFuncSetSharedMemConfig(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUsharedconfig __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("cuFuncSetSharedMemConfig", 0);

  /* "cuda/bindings/driver.pyx":35925
 *     """
 *     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":35926
 *     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":35925
 *     """
 *     cdef cydriver.CUfunction cyhfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35927
 *     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":35928
 *         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, 35928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":35927
 *     if hfunc is None:
 *         phfunc = 0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":35930
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hfunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35930, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":35931
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *     cyhfunc = <cydriver.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 35931, __pyx_L1_error)
  __pyx_v_cyhfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":35932
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUsharedconfig_enum)__Pyx_PyLong_As_enum__CUsharedconfig_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 35932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyconfig = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":35933
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35934
 *     cdef cydriver.CUsharedconfig cyconfig = config.value
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuFuncSetSharedMemConfig(__pyx_v_cyhfunc, __pyx_v_cyconfig); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35934, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":35933
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":35935
 *     with nogil:
 *         err = cydriver.cuFuncSetSharedMemConfig(cyhfunc, cyconfig)
 *     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, 35935, __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, 35935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 35935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 35935, __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, 35935, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35867
 *     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_8);
  __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":35937
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_559cuGraphCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_558cuGraphCreate, "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_559cuGraphCreate = {"cuGraphCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_559cuGraphCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_558cuGraphCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_559cuGraphCreate(PyObject *__pyx_self, 
#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, 35937, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 35937, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35937, __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, 35937, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35937, __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, 35938, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 35937, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_558cuGraphCreate(__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_558cuGraphCreate(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphCreate", 0);

  /* "cuda/bindings/driver.pyx":35959
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35959, __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":35960
 *     """
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphCreate(<cydriver.CUgraph*>phGraph._pvt_ptr, flags)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":35961
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphCreate(((CUgraph *)__pyx_v_phGraph->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 35961, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":35960
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":35962
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":35963
 *         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, 35963, __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, 35963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 35963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 35963, __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, 35963, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":35962
 *     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":35964
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35964, __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, 35964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 35964, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 35964, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35937
 *     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_6);
  __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":35966
 *     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_561cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_560cuGraphAddKernelNode, "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_561cuGraphAddKernelNode = {"cuGraphAddKernelNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_561cuGraphAddKernelNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_560cuGraphAddKernelNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_561cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 35966, __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, 35966, __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, 35966, __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, 35966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 35966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 35966, __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, 35966, __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, 35966, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 35966, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 35966, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 35966, __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, 35967, __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, 35966, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 35967, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_560cuGraphAddKernelNode(__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_2generator161(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36056
 *     """
 *     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_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, 36056, __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_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_cuGraphAddKernelNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36056, __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_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, 36056, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36056, __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, 36056, __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, 36056, __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, 36056, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36056, __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, 36056, __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, 36056, __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":35966
 *     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_560cuGraphAddKernelNode(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_2generator161 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_KERNEL_NODE_PARAMS_v2_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":36055
 *     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, 36055, __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":36056
 *     """
 *     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, 36056, __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, 36056, __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, 36056, __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":36057
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36057, __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, 36057, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36056
 *     """
 *     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":36059
 *         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":36060
 *     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":36059
 *         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":36061
 *     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":36062
 *         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, 36062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36061
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36064
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36064, __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, 36064, __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":36065
 *     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, 36065, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36066
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36066, __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":36067
 *     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":36068
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36068, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36069
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36069, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36070
 *     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":36071
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36071, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36071, __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, 36071, __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, 36071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36071, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36071, __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, 36071, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36071, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36071, __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, 36071, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36070
 *     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":36073
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36073, __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":36074
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36074, __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":36068
 *     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":36075
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36075, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36076
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36076, __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":36075
 *             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":36077
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36077, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36077, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36077, __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, 36077, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 36077, __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, 36077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 36077, __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, 36077, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36078
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":36079
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36080
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36080, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36079
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36081
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36081, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":36082
 *         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":36081
 *     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":36083
 *     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":36084
 *         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, 36084, __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, 36084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36084, __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, 36084, __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, 36084, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36083
 *     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":36085
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36085, __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, 36085, __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, 36085, __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, 36085, __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, 36085, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36085, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":35966
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator161);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36087
 *     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_563cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_562cuGraphKernelNodeGetParams, "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_563cuGraphKernelNodeGetParams = {"cuGraphKernelNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_563cuGraphKernelNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_562cuGraphKernelNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_563cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36087, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36087, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36087, __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, 36087, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36087, __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, 36087, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_562cuGraphKernelNodeGetParams(__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_562cuGraphKernelNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36119
 *     """
 *     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":36120
 *     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":36119
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36121
 *     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":36122
 *         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, 36122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36121
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36124
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36124, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36125
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36125, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36126
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36126, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36127
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36128
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36128, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36127
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36129
 *     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":36130
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36130, __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, 36130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36130, __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, 36130, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36129
 *     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":36131
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36131, __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, 36131, __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, 36131, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36131, __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, 36131, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 36131, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36087
 *     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_7);
  __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":36133
 *     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_565cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_564cuGraphKernelNodeSetParams, "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_565cuGraphKernelNodeSetParams = {"cuGraphKernelNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_565cuGraphKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_564cuGraphKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_565cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36133, __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, 36133, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36133, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36133, __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, 36133, __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, 36133, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36133, __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, 36133, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36134, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_564cuGraphKernelNodeSetParams(__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_564cuGraphKernelNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__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("cuGraphKernelNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36156
 *     """
 *     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":36157
 *     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":36156
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36158
 *     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":36159
 *         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, 36159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36158
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36161
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36161, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36162
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36162, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36163
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":36164
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36165
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36165, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36164
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36166
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetParams(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, 36166, __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, 36166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 36166, __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, 36166, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36133
 *     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_8);
  __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":36168
 *     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_567cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_566cuGraphAddMemcpyNode, "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_567cuGraphAddMemcpyNode = {"cuGraphAddMemcpyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_567cuGraphAddMemcpyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_566cuGraphAddMemcpyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_567cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36168, __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, 36168, __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, 36168, __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, 36168, __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, 36168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36168, __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, 36168, __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, 36168, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36168, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36168, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36168, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 36168, __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, 36169, __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, 36168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36169, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_566cuGraphAddMemcpyNode(__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_2generator162(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36225
 *     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_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, 36225, __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_2generator162, ((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_cuGraphAddMemcpyNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36225, __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_2generator162(__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, 36225, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36225, __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, 36225, __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, 36225, __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, 36225, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36225, __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, 36225, __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, 36225, __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":36168
 *     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_566cuGraphAddMemcpyNode(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_2generator162 = 0;
  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;
  int __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_MEMCPY3D_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":36217
 *     """
 *     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":36218
 *     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":36217
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36219
 *     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":36220
 *         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, 36220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36219
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36222
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36222, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36223
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36223, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36224
 *         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, 36224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":36225
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemcpyNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 36225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":36226
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36226, __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, 36226, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36225
 *     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":36228
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36229
 *     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":36228
 *         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":36230
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36231
 *         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, 36231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36230
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36233
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36233, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36234
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36234, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36235
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36235, __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":36236
 *     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":36237
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36237, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36238
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36238, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36239
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":36240
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36240, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36240, __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, 36240, __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, 36240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36240, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36240, __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, 36240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36240, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36240, __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, 36240, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36239
 *     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":36242
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36242, __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":36243
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36243, __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":36237
 *     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":36244
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36244, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36245
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36245, __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":36244
 *             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":36246
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36246, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36246, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36246, __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, 36246, __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, 36246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36246, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36246, __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, 36246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36246, __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, 36246, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36247
 *         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_6 = (((PyObject *)__pyx_v_copyParams) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_13 = __pyx_v_copyParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cycopyParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":36248
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36249
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36249, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36248
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36250
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36250, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36251
 *         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":36250
 *     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":36252
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36253
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36253, __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, 36253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36253, __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, 36253, __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, 36253, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36252
 *     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":36254
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36254, __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, 36254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 36254, __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, 36254, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36254, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36168
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator162);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36256
 *     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_569cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_568cuGraphMemcpyNodeGetParams, "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_569cuGraphMemcpyNodeGetParams = {"cuGraphMemcpyNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_569cuGraphMemcpyNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_568cuGraphMemcpyNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_569cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36256, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36256, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36256, __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, 36256, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36256, __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, 36256, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_568cuGraphMemcpyNodeGetParams(__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_568cuGraphMemcpyNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36279
 *     """
 *     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":36280
 *     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":36279
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36281
 *     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":36282
 *         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, 36282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36281
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36284
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36284, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36285
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36285, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36286
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36286, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMCPY3D *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36287
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36288
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeGetParams(__pyx_v_cyhNode, ((CUDA_MEMCPY3D *)__pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36288, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36287
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36289
 *     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":36290
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36290, __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, 36290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36290, __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, 36290, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36289
 *     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":36291
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36291, __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, 36291, __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, 36291, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36291, __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, 36291, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 36291, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36256
 *     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_7);
  __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":36293
 *     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_571cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_570cuGraphMemcpyNodeSetParams, "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_571cuGraphMemcpyNodeSetParams = {"cuGraphMemcpyNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_571cuGraphMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_570cuGraphMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_571cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36293, __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, 36293, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36293, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36293, __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, 36293, __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, 36293, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36293, __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, 36293, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36294, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_570cuGraphMemcpyNodeSetParams(__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_570cuGraphMemcpyNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMCPY3D_st *__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("cuGraphMemcpyNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36316
 *     """
 *     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":36317
 *     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":36316
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36318
 *     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":36319
 *         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, 36319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36318
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36321
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36321, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36322
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36322, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36323
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":36324
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36325
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemcpyNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36325, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36324
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36326
 *     with nogil:
 *         err = cydriver.cuGraphMemcpyNodeSetParams(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, 36326, __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, 36326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 36326, __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, 36326, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36293
 *     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_8);
  __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":36328
 *     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_573cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_572cuGraphAddMemsetNode, "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_573cuGraphAddMemsetNode = {"cuGraphAddMemsetNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_573cuGraphAddMemsetNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_572cuGraphAddMemsetNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_573cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36328, __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, 36328, __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, 36328, __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, 36328, __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, 36328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36328, __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, 36328, __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, 36328, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36328, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36328, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36328, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 36328, __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, 36329, __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, 36328, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36329, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_572cuGraphAddMemsetNode(__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_2generator163(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36375
 *     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_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, 36375, __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_2generator163, ((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_cuGraphAddMemsetNode_locals_gene, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36375, __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_2generator163(__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, 36375, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36375, __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, 36375, __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, 36375, __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, 36375, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36375, __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, 36375, __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, 36375, __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":36328
 *     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_572cuGraphAddMemsetNode(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_2generator163 = 0;
  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;
  int __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_MEMSET_NODE_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":36367
 *     """
 *     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":36368
 *     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":36367
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36369
 *     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":36370
 *         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, 36370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36369
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36372
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36372, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36373
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36373, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36374
 *         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, 36374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":36375
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_20cuGraphAddMemsetNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 36375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":36376
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36376, __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, 36376, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36375
 *     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":36378
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36379
 *     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":36378
 *         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":36380
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36381
 *         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, 36381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36380
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36383
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36383, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36384
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36384, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36385
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36385, __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":36386
 *     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":36387
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36387, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36388
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36388, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36389
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":36390
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36390, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36390, __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, 36390, __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, 36390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36390, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36390, __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, 36390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36390, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36390, __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, 36390, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36389
 *     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":36392
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36392, __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":36393
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36393, __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":36387
 *     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":36394
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36394, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36395
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36395, __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":36394
 *             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":36396
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36396, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36396, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36396, __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, 36396, __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, 36396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36396, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36396, __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, 36396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36396, __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, 36396, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36397
 *         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_6 = (((PyObject *)__pyx_v_memsetParams) != Py_None);
  if (__pyx_t_6) {
    __pyx_t_13 = __pyx_v_memsetParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cymemsetParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":36398
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36399
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36399, __pyx_L12_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36398
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36400
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36400, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36401
 *         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":36400
 *     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":36402
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36403
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36403, __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, 36403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36403, __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, 36403, __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, 36403, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36402
 *     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":36404
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36404, __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, 36404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 36404, __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, 36404, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36404, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36328
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator163);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36406
 *     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_575cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_574cuGraphMemsetNodeGetParams, "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_575cuGraphMemsetNodeGetParams = {"cuGraphMemsetNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_575cuGraphMemsetNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_574cuGraphMemsetNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_575cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36406, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36406, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36406, __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, 36406, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36406, __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, 36406, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_574cuGraphMemsetNodeGetParams(__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_574cuGraphMemsetNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36429
 *     """
 *     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":36430
 *     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":36429
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36431
 *     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":36432
 *         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, 36432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36431
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36434
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36434, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36435
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36435, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36436
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36436, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36437
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36438
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36438, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36437
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36439
 *     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":36440
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36440, __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, 36440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36440, __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, 36440, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36439
 *     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":36441
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36441, __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, 36441, __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, 36441, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36441, __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, 36441, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 36441, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36406
 *     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_7);
  __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":36443
 *     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_577cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_576cuGraphMemsetNodeSetParams, "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_577cuGraphMemsetNodeSetParams = {"cuGraphMemsetNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_577cuGraphMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_576cuGraphMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_577cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36443, __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, 36443, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36443, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36443, __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, 36443, __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, 36443, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36443, __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, 36443, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36444, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_576cuGraphMemsetNodeSetParams(__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_576cuGraphMemsetNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMSET_NODE_PARAMS_st *__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("cuGraphMemsetNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36466
 *     """
 *     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":36467
 *     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":36466
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36468
 *     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":36469
 *         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, 36469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36468
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36471
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36471, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36472
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36472, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36473
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":36474
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36475
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemsetNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36475, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36474
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36476
 *     with nogil:
 *         err = cydriver.cuGraphMemsetNodeSetParams(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, 36476, __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, 36476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 36476, __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, 36476, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36443
 *     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_8);
  __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":36478
 *     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_579cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_578cuGraphAddHostNode, "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_579cuGraphAddHostNode = {"cuGraphAddHostNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_579cuGraphAddHostNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_578cuGraphAddHostNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_579cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36478, __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, 36478, __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, 36478, __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, 36478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36478, __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, 36478, __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, 36478, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36478, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36478, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36478, __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, 36479, __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, 36478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36479, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_578cuGraphAddHostNode(__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_2generator164(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36515
 *     """
 *     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_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, 36515, __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_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_cuGraphAddHostNode_locals_genexp, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36515, __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_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, 36515, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36515, __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, 36515, __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, 36515, __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, 36515, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36515, __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, 36515, __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, 36515, __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":36478
 *     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_578cuGraphAddHostNode(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_2generator164 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_HOST_NODE_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":36514
 *     :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, 36514, __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":36515
 *     """
 *     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, 36515, __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, 36515, __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, 36515, __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":36516
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36516, __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, 36516, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36515
 *     """
 *     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":36518
 *         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":36519
 *     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":36518
 *         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":36520
 *     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":36521
 *         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, 36521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36520
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36523
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36523, __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, 36523, __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":36524
 *     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, 36524, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36525
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36525, __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":36526
 *     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":36527
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36527, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36528
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36528, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36529
 *     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":36530
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36530, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36530, __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, 36530, __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, 36530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36530, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36530, __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, 36530, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36530, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36530, __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, 36530, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36529
 *     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":36532
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36532, __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":36533
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36533, __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":36527
 *     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":36534
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36534, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36535
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36535, __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":36534
 *             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":36536
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36536, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36536, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36536, __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, 36536, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 36536, __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, 36536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 36536, __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, 36536, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36537
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":36538
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36539
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36539, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":36538
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36540
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36540, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":36541
 *         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":36540
 *     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":36542
 *     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":36543
 *         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, 36543, __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, 36543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36543, __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, 36543, __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, 36543, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36542
 *     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":36544
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36544, __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, 36544, __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, 36544, __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, 36544, __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, 36544, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36544, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36478
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator164);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36546
 *     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_581cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_580cuGraphHostNodeGetParams, "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_581cuGraphHostNodeGetParams = {"cuGraphHostNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_581cuGraphHostNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_580cuGraphHostNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_581cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36546, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36546, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36546, __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, 36546, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36546, __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, 36546, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_580cuGraphHostNodeGetParams(__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_580cuGraphHostNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphHostNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":36569
 *     """
 *     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":36570
 *     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":36569
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36571
 *     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":36572
 *         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, 36572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36571
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36574
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36574, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36575
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36575, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36576
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36576, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36577
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36578
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36578, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36577
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36579
 *     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":36580
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36580, __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, 36580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36580, __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, 36580, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36579
 *     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":36581
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36581, __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, 36581, __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, 36581, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36581, __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, 36581, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_nodeParams)) != (0)) __PYX_ERR(0, 36581, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36546
 *     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_7);
  __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":36583
 *     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_583cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_582cuGraphHostNodeSetParams, "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_583cuGraphHostNodeSetParams = {"cuGraphHostNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_583cuGraphHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_582cuGraphHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_583cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36583, __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, 36583, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36583, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36583, __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, 36583, __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, 36583, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36583, __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, 36583, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 36584, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_582cuGraphHostNodeSetParams(__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_582cuGraphHostNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_HOST_NODE_PARAMS_st *__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("cuGraphHostNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":36606
 *     """
 *     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":36607
 *     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":36606
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36608
 *     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":36609
 *         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, 36609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36608
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36611
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36611, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36612
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36612, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36613
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":36614
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36615
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphHostNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36615, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":36614
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36616
 *     with nogil:
 *         err = cydriver.cuGraphHostNodeSetParams(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, 36616, __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, 36616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 36616, __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, 36616, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36583
 *     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_8);
  __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":36618
 *     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_585cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_584cuGraphAddChildGraphNode, "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_585cuGraphAddChildGraphNode = {"cuGraphAddChildGraphNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_585cuGraphAddChildGraphNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_584cuGraphAddChildGraphNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_585cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36618, __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, 36618, __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, 36618, __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, 36618, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36618, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36618, __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, 36618, __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, 36618, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36618, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36618, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36618, __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, 36619, __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, 36618, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_584cuGraphAddChildGraphNode(__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_2generator165(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36666
 *     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_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, 36666, __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_2generator165, ((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_cuGraphAddChildGraphNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36666, __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_2generator165(__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, 36666, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36666, __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, 36666, __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, 36666, __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, 36666, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36666, __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, 36666, __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, 36666, __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":36618
 *     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_584cuGraphAddChildGraphNode(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_2generator165 = 0;
  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;
  int __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;
  CUresult __pyx_t_13;
  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":36658
 *     """
 *     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":36659
 *     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":36658
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36660
 *     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":36661
 *         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, 36661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36660
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36663
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_childGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36663, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36664
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36664, __pyx_L1_error)
  __pyx_v_cychildGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36665
 *         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, 36665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":36666
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_24cuGraphAddChildGraphNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 36666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":36667
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36667, __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, 36667, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36666
 *     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":36669
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36670
 *     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":36669
 *         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":36671
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36672
 *         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, 36672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36671
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36674
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36674, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36675
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36675, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36676
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36676, __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":36677
 *     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":36678
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36678, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36679
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36679, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36680
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":36681
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36681, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36681, __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, 36681, __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, 36681, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36681, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36681, __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, 36681, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36681, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36681, __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, 36681, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36680
 *     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":36683
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36683, __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":36684
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36684, __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":36678
 *     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":36685
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36685, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36686
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36686, __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":36685
 *             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":36687
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36687, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36687, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36687, __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, 36687, __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, 36687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36687, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36687, __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, 36687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36687, __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, 36687, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36688
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36689
 *     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_13 = __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_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36689, __pyx_L12_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":36688
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36690
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36690, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36691
 *         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":36690
 *     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":36692
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36693
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36693, __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, 36693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36693, __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, 36693, __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, 36693, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36692
 *     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":36694
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36694, __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, 36694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 36694, __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, 36694, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36694, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36618
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator165);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36696
 *     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_587cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_586cuGraphChildGraphNodeGetGraph, "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_587cuGraphChildGraphNodeGetGraph = {"cuGraphChildGraphNodeGetGraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_587cuGraphChildGraphNodeGetGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_586cuGraphChildGraphNodeGetGraph};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_587cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36696, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36696, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36696, __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, 36696, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36696, __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, 36696, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_586cuGraphChildGraphNodeGetGraph(__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_586cuGraphChildGraphNodeGetGraph(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphChildGraphNodeGetGraph", 0);

  /* "cuda/bindings/driver.pyx":36724
 *     """
 *     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":36725
 *     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":36724
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36726
 *     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":36727
 *         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, 36727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36726
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36729
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36729, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36730
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36730, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36731
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36731, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36732
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36733
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphChildGraphNodeGetGraph(__pyx_v_cyhNode, ((CUgraph *)__pyx_v_phGraph->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36733, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36732
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36734
 *     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":36735
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36735, __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, 36735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36735, __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, 36735, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36734
 *     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":36736
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36736, __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, 36736, __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, 36736, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36736, __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, 36736, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 36736, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36696
 *     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_7);
  __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":36738
 *     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_589cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_588cuGraphAddEmptyNode, "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_589cuGraphAddEmptyNode = {"cuGraphAddEmptyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_589cuGraphAddEmptyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_588cuGraphAddEmptyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_589cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36738, __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, 36738, __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, 36738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36738, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36738, __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, 36738, __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, 36738, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36738, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36738, __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, 36739, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 36738, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_588cuGraphAddEmptyNode(__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_2generator166(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36776
 *     """
 *     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_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, 36776, __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_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_cuGraphAddEmptyNode_locals_genex, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36776, __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_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, 36776, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36776, __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, 36776, __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, 36776, __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, 36776, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36776, __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, 36776, __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, 36776, __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":36738
 *     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_588cuGraphAddEmptyNode(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_2generator166 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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;
  CUresult __pyx_t_13;
  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":36775
 *     :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, 36775, __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":36776
 *     """
 *     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, 36776, __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, 36776, __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, 36776, __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":36777
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36777, __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, 36777, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36776
 *     """
 *     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":36779
 *         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":36780
 *     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":36779
 *         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":36781
 *     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":36782
 *         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, 36782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36781
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36784
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36784, __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, 36784, __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":36785
 *     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, 36785, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":36786
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36786, __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":36787
 *     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":36788
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36788, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36789
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36789, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36790
 *     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":36791
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36791, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36791, __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, 36791, __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, 36791, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36791, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36791, __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, 36791, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36791, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36791, __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, 36791, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36790
 *     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":36793
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36793, __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":36794
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36794, __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":36788
 *     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":36795
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36795, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":36796
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36796, __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":36795
 *             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":36797
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36797, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36797, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36797, __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, 36797, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 36797, __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, 36797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 36797, __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, 36797, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36798
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36799
 *     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_13 = __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_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36799, __pyx_L11_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":36798
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":36800
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36800, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":36801
 *         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":36800
 *     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":36802
 *     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":36803
 *         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, 36803, __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, 36803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36803, __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, 36803, __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, 36803, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36802
 *     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":36804
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36804, __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, 36804, __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, 36804, __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, 36804, __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, 36804, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36804, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36738
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator166);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36806
 *     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_591cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_590cuGraphAddEventRecordNode, "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_591cuGraphAddEventRecordNode = {"cuGraphAddEventRecordNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_591cuGraphAddEventRecordNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_590cuGraphAddEventRecordNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_591cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36806, __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, 36806, __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, 36806, __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, 36806, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36806, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36806, __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, 36806, __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, 36806, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36806, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36806, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36806, __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, 36807, __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, 36806, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_590cuGraphAddEventRecordNode(__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_2generator167(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":36851
 *     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_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, 36851, __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_2generator167, ((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_cuGraphAddEventRecordNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 36851, __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_2generator167(__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, 36851, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 36851, __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, 36851, __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, 36851, __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, 36851, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 36851, __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, 36851, __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, 36851, __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":36806
 *     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_590cuGraphAddEventRecordNode(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_2generator167 = 0;
  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;
  int __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;
  CUresult __pyx_t_13;
  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":36843
 *     """
 *     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":36844
 *     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":36843
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36845
 *     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":36846
 *         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, 36846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36845
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36848
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36848, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36849
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36849, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36850
 *         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, 36850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":36851
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphAddEventRecordNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 36851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":36852
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36852, __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, 36852, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":36851
 *     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":36854
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36855
 *     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":36854
 *         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":36856
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36857
 *         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, 36857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36856
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":36859
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36859, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":36860
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36860, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36861
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36861, __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":36862
 *     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":36863
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36863, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36864
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36864, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":36865
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":36866
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36866, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36866, __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, 36866, __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, 36866, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 36866, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36866, __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, 36866, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36866, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36866, __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, 36866, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":36865
 *     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":36868
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36868, __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":36869
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36869, __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":36863
 *     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":36870
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36870, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36871
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36871, __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":36870
 *             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":36872
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36872, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36872, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36872, __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, 36872, __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, 36872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 36872, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36872, __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, 36872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36872, __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, 36872, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":36873
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36874
 *     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_13 = __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_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36874, __pyx_L12_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":36873
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":36875
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 36875, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36876
 *         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":36875
 *     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":36877
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":36878
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36878, __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, 36878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 36878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 36878, __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, 36878, __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, 36878, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36877
 *     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":36879
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36879, __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, 36879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 36879, __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, 36879, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 36879, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36806
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator167);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":36881
 *     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_593cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_592cuGraphEventRecordNodeGetEvent, "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_593cuGraphEventRecordNodeGetEvent = {"cuGraphEventRecordNodeGetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_593cuGraphEventRecordNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_592cuGraphEventRecordNodeGetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_593cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36881, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 36881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36881, __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, 36881, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36881, __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, 36881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_592cuGraphEventRecordNodeGetEvent(__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_592cuGraphEventRecordNodeGetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeGetEvent", 0);

  /* "cuda/bindings/driver.pyx":36904
 *     """
 *     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":36905
 *     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":36904
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36906
 *     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":36907
 *         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, 36907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36906
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36909
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36909, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36910
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36910, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36911
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36911, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":36912
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36913
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeGetEvent(__pyx_v_cyhNode, ((CUevent *)__pyx_v_event_out->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36913, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36912
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":36914
 *     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":36915
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36915, __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, 36915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 36915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 36915, __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, 36915, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":36914
 *     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":36916
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36916, __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, 36916, __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, 36916, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36916, __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, 36916, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_event_out)) != (0)) __PYX_ERR(0, 36916, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36881
 *     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_7);
  __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":36918
 *     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_595cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_594cuGraphEventRecordNodeSetEvent, "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_595cuGraphEventRecordNodeSetEvent = {"cuGraphEventRecordNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_595cuGraphEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_594cuGraphEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_595cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36918, __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, 36918, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36918, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36918, __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, 36918, __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, 36918, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36918, __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, 36918, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_594cuGraphEventRecordNodeSetEvent(__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_594cuGraphEventRecordNodeSetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":36941
 *     """
 *     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":36942
 *     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":36941
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36943
 *     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":36944
 *         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, 36944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":36943
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":36946
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36946, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":36947
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36947, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36949
 *     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":36950
 *     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":36949
 *     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":36951
 *     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":36952
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":36951
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":36954
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36954, __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, 36954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":36955
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 36955, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":36956
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":36957
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventRecordNodeSetEvent(__pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 36957, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":36956
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":36958
 *     with nogil:
 *         err = cydriver.cuGraphEventRecordNodeSetEvent(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, 36958, __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, 36958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 36958, __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, 36958, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36918
 *     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_7);
  __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":36960
 *     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_597cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_596cuGraphAddEventWaitNode, "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_597cuGraphAddEventWaitNode = {"cuGraphAddEventWaitNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_597cuGraphAddEventWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_596cuGraphAddEventWaitNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_597cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 36960, __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, 36960, __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, 36960, __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, 36960, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 36960, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 36960, __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, 36960, __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, 36960, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 36960, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 36960, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 36960, __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, 36961, __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, 36960, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_596cuGraphAddEventWaitNode(__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_2generator168(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37007
 *     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_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, 37007, __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_2generator168, ((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_cuGraphAddEventWaitNode_locals_g, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37007, __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_2generator168(__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, 37007, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37007, __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, 37007, __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, 37007, __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, 37007, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37007, __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, 37007, __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, 37007, __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":36960
 *     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_596cuGraphAddEventWaitNode(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_2generator168 = 0;
  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;
  int __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;
  CUresult __pyx_t_13;
  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":36999
 *     """
 *     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":37000
 *     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":36999
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37001
 *     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":37002
 *         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, 37002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37001
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37004
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37004, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37005
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37005, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37006
 *         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, 37006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":37007
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_23cuGraphAddEventWaitNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 37007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":37008
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37008, __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, 37008, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37007
 *     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":37010
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37011
 *     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":37010
 *         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":37012
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37013
 *         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, 37013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37012
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":37015
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37015, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":37016
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37016, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37017
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37017, __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":37018
 *     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":37019
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37019, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37020
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37020, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37021
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":37022
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37022, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37022, __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, 37022, __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, 37022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37022, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37022, __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, 37022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37022, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37022, __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, 37022, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37021
 *     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":37024
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37024, __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":37025
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37025, __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":37019
 *     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":37026
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37026, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37027
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37027, __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":37026
 *             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":37028
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37028, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37028, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37028, __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, 37028, __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, 37028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37028, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37028, __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, 37028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37028, __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, 37028, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37029
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37030
 *     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_13 = __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_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37030, __pyx_L12_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":37029
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":37031
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37031, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37032
 *         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":37031
 *     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":37033
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37034
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37034, __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, 37034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37034, __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, 37034, __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, 37034, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37033
 *     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":37035
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37035, __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, 37035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 37035, __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, 37035, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37035, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":36960
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator168);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37037
 *     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_599cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_598cuGraphEventWaitNodeGetEvent, "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_599cuGraphEventWaitNodeGetEvent = {"cuGraphEventWaitNodeGetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_599cuGraphEventWaitNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_598cuGraphEventWaitNodeGetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_599cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37037, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37037, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37037, __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, 37037, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37037, __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, 37037, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_598cuGraphEventWaitNodeGetEvent(__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_598cuGraphEventWaitNodeGetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeGetEvent", 0);

  /* "cuda/bindings/driver.pyx":37060
 *     """
 *     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":37061
 *     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":37060
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37062
 *     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":37063
 *         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, 37063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37062
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37065
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37065, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37066
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37066, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37067
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37067, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37068
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37069
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeGetEvent(__pyx_v_cyhNode, ((CUevent *)__pyx_v_event_out->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37069, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37068
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37070
 *     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":37071
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37071, __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, 37071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37071, __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, 37071, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37070
 *     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":37072
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37072, __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, 37072, __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, 37072, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37072, __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, 37072, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_event_out)) != (0)) __PYX_ERR(0, 37072, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37037
 *     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_7);
  __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":37074
 *     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_601cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_600cuGraphEventWaitNodeSetEvent, "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_601cuGraphEventWaitNodeSetEvent = {"cuGraphEventWaitNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_601cuGraphEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_600cuGraphEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_601cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37074, __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, 37074, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37074, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37074, __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, 37074, __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, 37074, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37074, __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, 37074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_600cuGraphEventWaitNodeSetEvent(__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_600cuGraphEventWaitNodeSetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":37097
 *     """
 *     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":37098
 *     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":37097
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37099
 *     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":37100
 *         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, 37100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37099
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37102
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37102, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37103
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37103, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37105
 *     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":37106
 *     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":37105
 *     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":37107
 *     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":37108
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37107
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37110
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37110, __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, 37110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":37111
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37111, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37112
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37113
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphEventWaitNodeSetEvent(__pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37113, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37112
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":37114
 *     with nogil:
 *         err = cydriver.cuGraphEventWaitNodeSetEvent(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, 37114, __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, 37114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 37114, __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, 37114, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37074
 *     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_7);
  __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":37116
 *     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_603cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresSignalNode, "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_603cuGraphAddExternalSemaphoresSignalNode = {"cuGraphAddExternalSemaphoresSignalNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresSignalNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresSignalNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_603cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37116, __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, 37116, __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, 37116, __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, 37116, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37116, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37116, __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, 37116, __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, 37116, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37116, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37116, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37116, __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, 37117, __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, 37116, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37117, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_602cuGraphAddExternalSemaphoresSignalNode(__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_2generator169(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37154
 *     """
 *     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_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, 37154, __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_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_cuGraphAddExternalSemaphoresSign, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37154, __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_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, 37154, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37154, __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, 37154, __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, 37154, __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, 37154, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37154, __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, 37154, __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, 37154, __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":37116
 *     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_602cuGraphAddExternalSemaphoresSignalNode(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_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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":37153
 *     :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, 37153, __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":37154
 *     """
 *     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, 37154, __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, 37154, __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, 37154, __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":37155
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37155, __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, 37155, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37154
 *     """
 *     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":37157
 *         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":37158
 *     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":37157
 *         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":37159
 *     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":37160
 *         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, 37160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37159
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37162
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37162, __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, 37162, __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":37163
 *     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, 37163, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37164
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37164, __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":37165
 *     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":37166
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37166, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37167
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37167, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37168
 *     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":37169
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37169, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37169, __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, 37169, __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, 37169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37169, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37169, __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, 37169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37169, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37169, __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, 37169, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37168
 *     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":37171
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37171, __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":37172
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37172, __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":37166
 *     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":37173
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37173, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37174
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37174, __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":37173
 *             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":37175
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37175, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37175, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37175, __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, 37175, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 37175, __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, 37175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 37175, __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, 37175, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37176
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":37177
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37178
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37178, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":37177
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37179
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37179, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":37180
 *         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":37179
 *     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":37181
 *     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":37182
 *         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, 37182, __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, 37182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37182, __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, 37182, __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, 37182, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37181
 *     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":37183
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37183, __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, 37183, __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, 37183, __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, 37183, __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, 37183, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37183, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37116
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator169);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37185
 *     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_605cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresSignalNodeGetParams, "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_605cuGraphExternalSemaphoresSignalNodeGetParams = {"cuGraphExternalSemaphoresSignalNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresSignalNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_604cuGraphExternalSemaphoresSignalNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_605cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37185, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37185, __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, 37185, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37185, __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, 37185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_604cuGraphExternalSemaphoresSignalNodeGetParams(__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_604cuGraphExternalSemaphoresSignalNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37214
 *     """
 *     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":37215
 *     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":37214
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37216
 *     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":37217
 *         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, 37217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37216
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37219
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37219, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37220
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37220, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37221
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37221, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37222
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37223
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37223, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37222
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37224
 *     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":37225
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37225, __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, 37225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37225, __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, 37225, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37224
 *     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":37226
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37226, __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, 37226, __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, 37226, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37226, __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, 37226, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 37226, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37185
 *     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_7);
  __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":37228
 *     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_607cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresSignalNodeSetParams, "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_607cuGraphExternalSemaphoresSignalNodeSetParams = {"cuGraphExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_607cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37228, __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, 37228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37228, __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, 37228, __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, 37228, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37228, __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, 37228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37229, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_606cuGraphExternalSemaphoresSignalNodeSetParams(__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_606cuGraphExternalSemaphoresSignalNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__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("cuGraphExternalSemaphoresSignalNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37252
 *     """
 *     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":37253
 *     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":37252
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37254
 *     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":37255
 *         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, 37255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37254
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37257
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37257, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37258
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37258, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37259
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":37260
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37261
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresSignalNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37261, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37260
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37262
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresSignalNodeSetParams(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, 37262, __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, 37262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 37262, __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, 37262, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37228
 *     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_8);
  __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":37264
 *     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_609cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_608cuGraphAddExternalSemaphoresWaitNode, "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_609cuGraphAddExternalSemaphoresWaitNode = {"cuGraphAddExternalSemaphoresWaitNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_609cuGraphAddExternalSemaphoresWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_608cuGraphAddExternalSemaphoresWaitNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_609cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37264, __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, 37264, __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, 37264, __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, 37264, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37264, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37264, __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, 37264, __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, 37264, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37264, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37264, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37264, __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, 37265, __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, 37264, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37265, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_608cuGraphAddExternalSemaphoresWaitNode(__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_2generator170(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37302
 *     """
 *     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_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, 37302, __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_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_cuGraphAddExternalSemaphoresWait, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37302, __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_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, 37302, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37302, __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, 37302, __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, 37302, __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, 37302, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37302, __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, 37302, __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, 37302, __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":37264
 *     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_608cuGraphAddExternalSemaphoresWaitNode(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_2generator170 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":37301
 *     :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, 37301, __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":37302
 *     """
 *     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, 37302, __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, 37302, __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, 37302, __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":37303
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37303, __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, 37303, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37302
 *     """
 *     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":37305
 *         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":37306
 *     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":37305
 *         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":37307
 *     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":37308
 *         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, 37308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37307
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37310
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37310, __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, 37310, __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":37311
 *     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, 37311, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37312
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37312, __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":37313
 *     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":37314
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37314, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37315
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37315, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37316
 *     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":37317
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37317, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37317, __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, 37317, __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, 37317, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37317, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37317, __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, 37317, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37317, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37317, __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, 37317, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37316
 *     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":37319
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37319, __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":37320
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37320, __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":37314
 *     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":37321
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37321, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37322
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37322, __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":37321
 *             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":37323
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37323, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37323, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37323, __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, 37323, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 37323, __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, 37323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 37323, __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, 37323, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37324
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":37325
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37326
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37326, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":37325
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37327
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37327, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":37328
 *         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":37327
 *     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":37329
 *     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":37330
 *         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, 37330, __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, 37330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37330, __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, 37330, __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, 37330, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37329
 *     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":37331
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37331, __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, 37331, __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, 37331, __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, 37331, __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, 37331, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37331, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37264
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator170);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37333
 *     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_611cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_610cuGraphExternalSemaphoresWaitNodeGetParams, "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_611cuGraphExternalSemaphoresWaitNodeGetParams = {"cuGraphExternalSemaphoresWaitNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_611cuGraphExternalSemaphoresWaitNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_610cuGraphExternalSemaphoresWaitNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_611cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37333, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37333, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37333, __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, 37333, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37333, __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, 37333, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_610cuGraphExternalSemaphoresWaitNodeGetParams(__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_610cuGraphExternalSemaphoresWaitNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37362
 *     """
 *     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":37363
 *     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":37362
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37364
 *     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":37365
 *         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, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37364
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37367
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37367, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37368
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37368, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37369
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37369, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37370
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37371
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37371, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37370
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37372
 *     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":37373
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37373, __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, 37373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37373, __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, 37373, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37372
 *     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":37374
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37374, __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, 37374, __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, 37374, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37374, __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, 37374, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 37374, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37333
 *     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_7);
  __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":37376
 *     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_613cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_612cuGraphExternalSemaphoresWaitNodeSetParams, "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_613cuGraphExternalSemaphoresWaitNodeSetParams = {"cuGraphExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_613cuGraphExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_612cuGraphExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_613cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37376, __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, 37376, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37376, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37376, __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, 37376, __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, 37376, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37376, __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, 37376, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37377, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_612cuGraphExternalSemaphoresWaitNodeSetParams(__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_612cuGraphExternalSemaphoresWaitNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__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("cuGraphExternalSemaphoresWaitNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37400
 *     """
 *     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":37401
 *     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":37400
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37402
 *     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":37403
 *         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, 37403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37402
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37405
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37405, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37406
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37406, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37407
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":37408
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37409
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExternalSemaphoresWaitNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37409, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37408
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37410
 *     with nogil:
 *         err = cydriver.cuGraphExternalSemaphoresWaitNodeSetParams(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, 37410, __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, 37410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 37410, __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, 37410, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37376
 *     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_8);
  __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":37412
 *     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_615cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_614cuGraphAddBatchMemOpNode, "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.");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_615cuGraphAddBatchMemOpNode = {"cuGraphAddBatchMemOpNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_615cuGraphAddBatchMemOpNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_614cuGraphAddBatchMemOpNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_615cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37412, __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, 37412, __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, 37412, __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, 37412, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37412, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37412, __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, 37412, __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, 37412, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37412, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37412, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37412, __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, 37413, __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, 37412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37413, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_614cuGraphAddBatchMemOpNode(__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_2generator171(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37453
 *     """
 *     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_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, 37453, __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_2generator171, ((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_cuGraphAddBatchMemOpNode_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37453, __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_2generator171(__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, 37453, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37453, __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, 37453, __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, 37453, __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, 37453, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37453, __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, 37453, __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, 37453, __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":37412
 *     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_614cuGraphAddBatchMemOpNode(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_2generator171 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":37452
 *     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.
 *     """
 *     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, 37452, __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":37453
 *     """
 *     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, 37453, __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, 37453, __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, 37453, __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":37454
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37454, __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, 37454, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37453
 *     """
 *     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":37456
 *         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":37457
 *     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":37456
 *         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":37458
 *     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":37459
 *         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, 37459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37458
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37461
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37461, __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, 37461, __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":37462
 *     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, 37462, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37463
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37463, __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":37464
 *     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":37465
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37465, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37466
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37466, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37467
 *     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":37468
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37468, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37468, __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, 37468, __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, 37468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37468, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37468, __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, 37468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37468, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37468, __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, 37468, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37467
 *     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":37470
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37470, __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":37471
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37471, __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":37465
 *     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":37472
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37472, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37473
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37473, __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":37472
 *             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":37474
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37474, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37474, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37474, __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, 37474, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 37474, __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, 37474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 37474, __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, 37474, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37475
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":37476
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37477
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37477, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":37476
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37478
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37478, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":37479
 *         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":37478
 *     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":37480
 *     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":37481
 *         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, 37481, __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, 37481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37481, __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, 37481, __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, 37481, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37480
 *     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":37482
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37482, __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, 37482, __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, 37482, __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, 37482, __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, 37482, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37482, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37412
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator171);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37484
 *     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_617cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_616cuGraphBatchMemOpNodeGetParams, "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_617cuGraphBatchMemOpNodeGetParams = {"cuGraphBatchMemOpNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_617cuGraphBatchMemOpNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_616cuGraphBatchMemOpNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_617cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37484, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37484, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37484, __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, 37484, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37484, __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, 37484, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_616cuGraphBatchMemOpNodeGetParams(__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_616cuGraphBatchMemOpNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37512
 *     """
 *     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":37513
 *     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":37512
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37514
 *     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":37515
 *         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, 37515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37514
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37517
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37517, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37518
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37518, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37519
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37519, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_nodeParams_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37520
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37521
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37521, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37520
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37522
 *     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":37523
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37523, __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, 37523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37523, __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, 37523, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37522
 *     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":37524
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37524, __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, 37524, __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, 37524, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37524, __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, 37524, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_nodeParams_out)) != (0)) __PYX_ERR(0, 37524, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37484
 *     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_7);
  __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":37526
 *     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_619cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_618cuGraphBatchMemOpNodeSetParams, "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_619cuGraphBatchMemOpNodeSetParams = {"cuGraphBatchMemOpNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_619cuGraphBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_618cuGraphBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_619cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37526, __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, 37526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37526, __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, 37526, __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, 37526, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37526, __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, 37526, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37527, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_618cuGraphBatchMemOpNodeSetParams(__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_618cuGraphBatchMemOpNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__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("cuGraphBatchMemOpNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37552
 *     """
 *     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":37553
 *     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":37552
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37554
 *     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":37555
 *         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, 37555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37554
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37557
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37557, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37558
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37558, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37559
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":37560
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37561
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphBatchMemOpNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37561, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37560
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37562
 *     with nogil:
 *         err = cydriver.cuGraphBatchMemOpNodeSetParams(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, 37562, __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, 37562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 37562, __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, 37562, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37526
 *     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_8);
  __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":37564
 *     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_621cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_620cuGraphExecBatchMemOpNodeSetParams, "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_621cuGraphExecBatchMemOpNodeSetParams = {"cuGraphExecBatchMemOpNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_621cuGraphExecBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_620cuGraphExecBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_621cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37564, __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, 37564, __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, 37564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37564, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37564, __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, 37564, __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, 37564, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37564, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37564, __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, 37564, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37565, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_620cuGraphExecBatchMemOpNodeSetParams(__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_620cuGraphExecBatchMemOpNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__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("cuGraphExecBatchMemOpNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":37612
 *     """
 *     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":37613
 *     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":37612
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37614
 *     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":37615
 *         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, 37615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37614
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37617
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37617, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37618
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37618, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37620
 *     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":37621
 *     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":37620
 *     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":37622
 *     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":37623
 *         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, 37623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37622
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37625
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37625, __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, 37625, __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_L4:;

  /* "cuda/bindings/driver.pyx":37626
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37626, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37627
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":37628
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37629
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecBatchMemOpNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37629, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":37628
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":37630
 *     with nogil:
 *         err = cydriver.cuGraphExecBatchMemOpNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 37630, __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, 37630, __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, 37630, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37630, __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, 37630, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37564
 *     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_8);
  __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":37632
 *     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_623cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_622cuGraphAddMemAllocNode, "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_623cuGraphAddMemAllocNode = {"cuGraphAddMemAllocNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_623cuGraphAddMemAllocNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_622cuGraphAddMemAllocNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_623cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37632, __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, 37632, __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, 37632, __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, 37632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37632, __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, 37632, __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, 37632, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37632, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37632, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37632, __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, 37633, __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, 37632, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37633, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_622cuGraphAddMemAllocNode(__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_2generator172(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37710
 *     """
 *     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_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, 37710, __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_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_cuGraphAddMemAllocNode_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37710, __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_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, 37710, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37710, __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, 37710, __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, 37710, __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, 37710, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37710, __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, 37710, __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, 37710, __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":37632
 *     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_622cuGraphAddMemAllocNode(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_2generator172 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_t_13;
  CUresult __pyx_t_14;
  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":37709
 *     :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, 37709, __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":37710
 *     """
 *     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, 37710, __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, 37710, __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, 37710, __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":37711
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37711, __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, 37711, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37710
 *     """
 *     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":37713
 *         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":37714
 *     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":37713
 *         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":37715
 *     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":37716
 *         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, 37716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":37715
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":37718
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37718, __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, 37718, __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":37719
 *     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, 37719, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":37720
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37720, __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":37721
 *     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":37722
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37722, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37723
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37723, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37724
 *     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":37725
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37725, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37725, __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, 37725, __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, 37725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37725, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37725, __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, 37725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37725, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37725, __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, 37725, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37724
 *     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":37727
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37727, __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":37728
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37728, __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":37722
 *     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":37729
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37729, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":37730
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37730, __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":37729
 *             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":37731
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37731, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37731, __pyx_L1_error)
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37731, __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, 37731, __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_List_is_too_small, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __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, 37731, __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, 37731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1)) __PYX_ERR(0, 37731, __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, 37731, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37732
 *         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_13 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_13 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_13;

  /* "cuda/bindings/driver.pyx":37733
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37734
 *     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_14 = __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_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37734, __pyx_L11_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":37733
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":37735
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37735, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":37736
 *         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":37735
 *     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":37737
 *     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":37738
 *         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, 37738, __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, 37738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37738, __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, 37738, __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, 37738, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37737
 *     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":37739
 *     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_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_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37739, __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, 37739, __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, 37739, __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, 37739, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37739, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37632
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator172);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37741
 *     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_625cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_624cuGraphMemAllocNodeGetParams, "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_625cuGraphMemAllocNodeGetParams = {"cuGraphMemAllocNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_625cuGraphMemAllocNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_624cuGraphMemAllocNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_625cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37741, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37741, __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, 37741, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37741, __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, 37741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_624cuGraphMemAllocNodeGetParams(__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_624cuGraphMemAllocNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemAllocNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37767
 *     """
 *     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":37768
 *     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":37767
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37769
 *     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":37770
 *         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, 37770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37769
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37772
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37772, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37773
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37773, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37774
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37774, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37775
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37776
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37776, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37775
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37777
 *     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":37778
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37778, __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, 37778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37778, __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, 37778, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37777
 *     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":37779
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37779, __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, 37779, __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, 37779, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37779, __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, 37779, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_params_out)) != (0)) __PYX_ERR(0, 37779, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37741
 *     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_7);
  __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":37781
 *     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_627cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_626cuGraphAddMemFreeNode, "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_627cuGraphAddMemFreeNode = {"cuGraphAddMemFreeNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_627cuGraphAddMemFreeNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_626cuGraphAddMemFreeNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_627cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37781, __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, 37781, __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, 37781, __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, 37781, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37781, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37781, __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, 37781, __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, 37781, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37781, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 37781, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 37781, __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, 37782, __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, 37781, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_626cuGraphAddMemFreeNode(__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_2generator173(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":37844
 *     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_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, 37844, __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_2generator173, ((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_cuGraphAddMemFreeNode_locals_gen, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 37844, __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_2generator173(__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, 37844, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 37844, __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, 37844, __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, 37844, __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, 37844, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 37844, __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, 37844, __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, 37844, __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":37781
 *     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_626cuGraphAddMemFreeNode(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_2generator173 = 0;
  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;
  int __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;
  CUresult __pyx_t_13;
  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":37836
 *     """
 *     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":37837
 *     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":37836
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37838
 *     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":37839
 *         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, 37839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37838
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37841
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37841, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37842
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37842, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37843
 *         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, 37843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_t_2;
    __pyx_t_2 = 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":37844
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_21cuGraphAddMemFreeNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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, 37844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":37845
 *     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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37845, __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, 37845, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":37844
 *     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":37847
 *         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_6 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37848
 *     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":37847
 *         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":37849
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph); 
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37850
 *         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, 37850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37849
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":37852
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37852, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":37853
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37853, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37854
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37854, __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":37855
 *     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":37856
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37856, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 > 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37857
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37857, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":37858
 *     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_6 = (__pyx_v_cydependencies == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":37859
 *         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_2 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37859, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37859, __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, 37859, __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, 37859, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37859, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37859, __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, 37859, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37859, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37859, __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, 37859, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":37858
 *     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":37861
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37861, __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":37862
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37862, __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":37856
 *     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":37863
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37863, __pyx_L1_error)
  __pyx_t_6 = (__pyx_t_7 == 1);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37864
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_dependencies, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37864, __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":37863
 *             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":37865
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37865, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_numDependencies > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_6)) {
    __pyx_t_8 = NULL;
    __pyx_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37865, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37865, __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, 37865, __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, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37865, __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_numDependencies); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37865, __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, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37865, __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, 37865, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":37866
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37867
 *     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_13 = __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_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37867, __pyx_L12_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":37866
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L13;
        }
        __pyx_L12_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L13:;
      }
  }

  /* "cuda/bindings/driver.pyx":37868
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 37868, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_7 > 1);
  if (__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__pyx_v_cydependencies != NULL);
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37869
 *         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":37868
 *     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":37870
 *     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_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":37871
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37871, __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, 37871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 37871, __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, 37871, __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, 37871, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37870
 *     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":37872
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37872, __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, 37872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 37872, __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, 37872, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 37872, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37781
 *     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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator173);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":37874
 *     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_629cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_628cuGraphMemFreeNodeGetParams, "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_629cuGraphMemFreeNodeGetParams = {"cuGraphMemFreeNodeGetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_629cuGraphMemFreeNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_628cuGraphMemFreeNodeGetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_629cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 37874, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37874, __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, 37874, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37874, __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, 37874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_628cuGraphMemFreeNodeGetParams(__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_628cuGraphMemFreeNodeGetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphMemFreeNodeGetParams", 0);

  /* "cuda/bindings/driver.pyx":37897
 *     """
 *     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":37898
 *     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":37897
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37899
 *     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":37900
 *         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, 37900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37899
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37902
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37902, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37903
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37903, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":37904
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37904, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_dptr_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37905
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37906
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphMemFreeNodeGetParams(__pyx_v_cyhNode, ((CUdeviceptr *)__pyx_v_dptr_out->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37906, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37905
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37907
 *     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":37908
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37908, __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, 37908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 37908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37908, __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, 37908, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37907
 *     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":37909
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37909, __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, 37909, __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, 37909, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37909, __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, 37909, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_dptr_out)) != (0)) __PYX_ERR(0, 37909, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37874
 *     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_7);
  __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":37911
 *     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_631cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_630cuDeviceGraphMemTrim, "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_631cuDeviceGraphMemTrim = {"cuDeviceGraphMemTrim", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_631cuDeviceGraphMemTrim, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_630cuDeviceGraphMemTrim};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_631cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_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_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, 37911, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 37911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37911, __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, 37911, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37911, __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, 37911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_630cuDeviceGraphMemTrim(__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_630cuDeviceGraphMemTrim(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGraphMemTrim", 0);

  /* "cuda/bindings/driver.pyx":37934
 *     """
 *     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":37935
 *     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":37934
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37936
 *     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":37937
 *         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, 37937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37936
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37939
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37939, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37940
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 37940, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":37941
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37942
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGraphMemTrim(__pyx_v_cydevice); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37942, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":37941
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGraphMemTrim(cydevice)
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37943
 *     with nogil:
 *         err = cydriver.cuDeviceGraphMemTrim(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, 37943, __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, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 37943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 37943, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":37911
 *     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_7);
  __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":37945
 *     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_633cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_632cuDeviceGetGraphMemAttribute, "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_633cuDeviceGetGraphMemAttribute = {"cuDeviceGetGraphMemAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_633cuDeviceGetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_632cuDeviceGetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_633cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_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, 37945, __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, 37945, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 37945, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 37945, __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, 37945, __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, 37945, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 37945, __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, 37945, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 37946, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_632cuDeviceGetGraphMemAttribute(__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_632cuDeviceGetGraphMemAttribute(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUgraphMem_attribute __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetGraphMemAttribute", 0);

  /* "cuda/bindings/driver.pyx":37985
 *     """
 *     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":37986
 *     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":37985
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37987
 *     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":37988
 *         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, 37988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":37987
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":37990
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37990, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":37991
 *     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_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 37991, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":37992
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUgraphMem_attribute_enum)__Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 37992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":37993
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37993, __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, 37993, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37993, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":37994
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 37994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

  /* "cuda/bindings/driver.pyx":37995
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":37996
 *     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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetGraphMemAttribute(__pyx_v_cydevice, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 37996, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":37995
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":37997
 *     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":37998
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37998, __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, 37998, __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, 37998, __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, 37998, __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, 37998, __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, 37998, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":37997
 *     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":37999
 *     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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37999, __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, 37999, __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, 37999, __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_7 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37999, __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, 37999, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 37999, __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":37945
 *     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_7);
  __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":38001
 *     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_635cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_634cuDeviceSetGraphMemAttribute, "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_635cuDeviceSetGraphMemAttribute = {"cuDeviceSetGraphMemAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_635cuDeviceSetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_634cuDeviceSetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_635cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_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, 38001, __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, 38001, __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, 38001, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38001, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38001, __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, 38001, __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, 38001, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38001, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38001, __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, 38001, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 38002, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_634cuDeviceSetGraphMemAttribute(__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_634cuDeviceSetGraphMemAttribute(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUgraphMem_attribute __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceSetGraphMemAttribute", 0);

  /* "cuda/bindings/driver.pyx":38034
 *     """
 *     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":38035
 *     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":38034
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38036
 *     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":38037
 *         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, 38037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38036
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38039
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38039, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38040
 *     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_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 38040, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":38041
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUgraphMem_attribute_enum)__Pyx_PyLong_As_enum__CUgraphMem_attribute_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 38041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":38042
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_attr, __pyx_v_value};
    __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38042, __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, 38042, __pyx_L1_error)
    __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38042, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyvalue = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperCUgraphMem_attribute *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38043
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyvalue), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyvalue_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_8));

  /* "cuda/bindings/driver.pyx":38044
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38045
 *     cdef void* cyvalue_ptr = <void*><void_ptr>cyvalue.cptr
 *     with nogil:
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_9 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceSetGraphMemAttribute(__pyx_v_cydevice, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38045, __pyx_L5_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38044
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38046
 *     with nogil:
 *         err = cydriver.cuDeviceSetGraphMemAttribute(cydevice, cyattr, cyvalue_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, 38046, __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, 38046, __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, 38046, __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(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38046, __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, 38046, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38001
 *     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_7);
  __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":38048
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_637cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_636cuGraphClone, "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_637cuGraphClone = {"cuGraphClone", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_637cuGraphClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_636cuGraphClone};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_637cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38048, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38048, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38048, __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, 38048, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38048, __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, 38048, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_636cuGraphClone(__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_636cuGraphClone(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphClone", 0);

  /* "cuda/bindings/driver.pyx":38081
 *     """
 *     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":38082
 *     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":38081
 *     """
 *     cdef cydriver.CUgraph cyoriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38083
 *     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":38084
 *         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, 38084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_poriginalGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38083
 *     if originalGraph is None:
 *         poriginalGraph = 0
 *     elif isinstance(originalGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38086
 *         poriginalGraph = int(originalGraph)
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))             # <<<<<<<<<<<<<<
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_originalGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38086, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_poriginalGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38087
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))
 *     cyoriginalGraph = <cydriver.CUgraph><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraphClone = CUgraph()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38087, __pyx_L1_error)
  __pyx_v_cyoriginalGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38088
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38088, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraphClone = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38089
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38090
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphClone(((CUgraph *)__pyx_v_phGraphClone->_pvt_ptr), __pyx_v_cyoriginalGraph); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38090, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38089
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38091
 *     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":38092
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38092, __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, 38092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38092, __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, 38092, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38091
 *     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":38093
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38093, __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, 38093, __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, 38093, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38093, __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, 38093, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphClone);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphClone);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphClone)) != (0)) __PYX_ERR(0, 38093, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38048
 *     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_7);
  __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":38095
 *     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_639cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_638cuGraphNodeFindInClone, "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_639cuGraphNodeFindInClone = {"cuGraphNodeFindInClone", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_639cuGraphNodeFindInClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_638cuGraphNodeFindInClone};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_639cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38095, __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, 38095, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38095, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38095, __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, 38095, __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, 38095, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38095, __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, 38095, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_638cuGraphNodeFindInClone(__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_638cuGraphNodeFindInClone(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeFindInClone", 0);

  /* "cuda/bindings/driver.pyx":38127
 *     """
 *     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":38128
 *     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":38127
 *     """
 *     cdef cydriver.CUgraph cyhClonedGraph
 *     if hClonedGraph is None:             # <<<<<<<<<<<<<<
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38129
 *     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":38130
 *         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, 38130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phClonedGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38129
 *     if hClonedGraph is None:
 *         phClonedGraph = 0
 *     elif isinstance(hClonedGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phClonedGraph = int(hClonedGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38132
 *         phClonedGraph = int(hClonedGraph)
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))             # <<<<<<<<<<<<<<
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph
 *     cdef cydriver.CUgraphNode cyhOriginalNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hClonedGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38132, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phClonedGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38133
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))
 *     cyhClonedGraph = <cydriver.CUgraph><void_ptr>phClonedGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhOriginalNode
 *     if hOriginalNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phClonedGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38133, __pyx_L1_error)
  __pyx_v_cyhClonedGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38135
 *     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":38136
 *     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":38135
 *     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":38137
 *     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":38138
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hOriginalNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phOriginalNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38137
 *     if hOriginalNode is None:
 *         phOriginalNode = 0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phOriginalNode = int(hOriginalNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":38140
 *         phOriginalNode = int(hOriginalNode)
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))             # <<<<<<<<<<<<<<
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hOriginalNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38140, __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, 38140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phOriginalNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":38141
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 *     cyhOriginalNode = <cydriver.CUgraphNode><void_ptr>phOriginalNode             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phOriginalNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38141, __pyx_L1_error)
  __pyx_v_cyhOriginalNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38142
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38142, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_phNode = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphNode *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":38143
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38144
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeFindInClone(((CUgraphNode *)__pyx_v_phNode->_pvt_ptr), __pyx_v_cyhOriginalNode, __pyx_v_cyhClonedGraph); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38144, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38143
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":38145
 *     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":38146
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38146, __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, 38146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38146, __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, 38146, __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, 38146, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38145
 *     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":38147
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38147, __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, 38147, __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, 38147, __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, 38147, __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, 38147, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phNode)) != (0)) __PYX_ERR(0, 38147, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38095
 *     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_7);
  __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":38149
 *     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_641cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_640cuGraphNodeGetType, "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_641cuGraphNodeGetType = {"cuGraphNodeGetType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_641cuGraphNodeGetType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_640cuGraphNodeGetType};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_641cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38149, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38149, __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, 38149, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38149, __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, 38149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_640cuGraphNodeGetType(__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_640cuGraphNodeGetType(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuGraphNodeGetType", 0);

  /* "cuda/bindings/driver.pyx":38172
 *     """
 *     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":38173
 *     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":38172
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38174
 *     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":38175
 *         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, 38175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38174
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38177
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphNodeType typename
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38177, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38178
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38178, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38180
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38181
 *     cdef cydriver.CUgraphNodeType typename
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetType(cyhNode, &typename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetType(__pyx_v_cyhNode, (&__pyx_v_typename)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38181, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38180
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38182
 *     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":38183
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38183, __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, 38183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38183, __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, 38183, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38182
 *     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":38184
 *     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, 38184, __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, 38184, __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, 38184, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUgraphNodeType); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38184, __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, 38184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38184, __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, 38184, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 38184, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38149
 *     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_7);
  __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":38186
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetContainingGraph(hNode):
 *     """ Returns the graph that contains a given graph node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_643cuGraphNodeGetContainingGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_642cuGraphNodeGetContainingGraph, "cuGraphNodeGetContainingGraph(hNode)\n\nReturns the graph that contains a given graph node.\n\nReturns the graph that contains `hNode` in `*phGraph`. If `hNode` is in\na child graph, the child graph it is in is returned.\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_INVALID_VALUE`\n*phGraph : :py:obj:`~.CUgraph`\n    Pointer to return the containing graph\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphDebugDotPrint` :py:obj:`~.cuGraphNodeGetLocalId` :py:obj:`~.cuGraphNodeGetToolsId` :py:obj:`~.cuGraphGetId` :py:obj:`~.cuGraphExecGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_643cuGraphNodeGetContainingGraph = {"cuGraphNodeGetContainingGraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_643cuGraphNodeGetContainingGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_642cuGraphNodeGetContainingGraph};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_643cuGraphNodeGetContainingGraph(PyObject *__pyx_self, 
#if CYTHON_METH_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("cuGraphNodeGetContainingGraph (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38186, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38186, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetContainingGraph", 0) < (0)) __PYX_ERR(0, 38186, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetContainingGraph", 1, 1, 1, i); __PYX_ERR(0, 38186, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38186, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetContainingGraph", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38186, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetContainingGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_642cuGraphNodeGetContainingGraph(__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_642cuGraphNodeGetContainingGraph(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetContainingGraph", 0);

  /* "cuda/bindings/driver.pyx":38210
 *     """
 *     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":38211
 *     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":38210
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38212
 *     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":38213
 *         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, 38213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38212
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38215
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38215, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38216
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38216, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38217
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetContainingGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38217, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraph *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38218
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetContainingGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38219
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetContainingGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetContainingGraph(__pyx_v_cyhNode, ((CUgraph *)__pyx_v_phGraph->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38219, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38218
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetContainingGraph(cyhNode, <cydriver.CUgraph*>phGraph._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38220
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetContainingGraph(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":38221
 *         err = cydriver.cuGraphNodeGetContainingGraph(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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38221, __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, 38221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38221, __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, 38221, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38220
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetContainingGraph(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":38222
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38222, __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, 38222, __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, 38222, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38222, __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, 38222, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraph)) != (0)) __PYX_ERR(0, 38222, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38186
 *     return (_dict_CUresult[err], CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetContainingGraph(hNode):
 *     """ Returns the graph that contains a given graph node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetContainingGraph", __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":38224
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetLocalId(hNode):
 *     """ Returns the local node id of a given graph node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetLocalId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_644cuGraphNodeGetLocalId, "cuGraphNodeGetLocalId(hNode)\n\nReturns the local node id of a given graph node.\n\nReturns the node id of `hNode` in `*nodeId`. The nodeId matches that\nreferenced by :py:obj:`~.cuGraphDebugDotPrint`. The local nodeId and\ngraphId together can uniquely identify the node.\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_INVALID_VALUE`\nnodeId : unsigned int\n    Pointer to return the nodeId\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphDebugDotPrint` :py:obj:`~.cuGraphNodeGetContainingGraph` :py:obj:`~.cuGraphNodeGetToolsId` :py:obj:`~.cuGraphGetId` :py:obj:`~.cuGraphExecGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_645cuGraphNodeGetLocalId = {"cuGraphNodeGetLocalId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetLocalId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_644cuGraphNodeGetLocalId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_645cuGraphNodeGetLocalId(PyObject *__pyx_self, 
#if CYTHON_METH_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("cuGraphNodeGetLocalId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38224, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetLocalId", 0) < (0)) __PYX_ERR(0, 38224, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetLocalId", 1, 1, 1, i); __PYX_ERR(0, 38224, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38224, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetLocalId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38224, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetLocalId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_644cuGraphNodeGetLocalId(__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_644cuGraphNodeGetLocalId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  unsigned int __pyx_v_nodeId;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetLocalId", 0);

  /* "cuda/bindings/driver.pyx":38249
 *     """
 *     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":38250
 *     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":38249
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38251
 *     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":38252
 *         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, 38252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38251
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38254
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned int nodeId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38254, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38255
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef unsigned int nodeId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38255, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38256
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned int nodeId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
*/
  __pyx_v_nodeId = 0;

  /* "cuda/bindings/driver.pyx":38257
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned int nodeId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38258
 *     cdef unsigned int nodeId = 0
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetLocalId(__pyx_v_cyhNode, (&__pyx_v_nodeId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38258, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38257
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned int nodeId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38259
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38260
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], nodeId)
 * 
*/
    __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, 38260, __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, 38260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38260, __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, 38260, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38259
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetLocalId(cyhNode, &nodeId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeId)
*/
  }

  /* "cuda/bindings/driver.pyx":38261
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], nodeId)             # <<<<<<<<<<<<<<
 * 
 * @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, 38261, __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, 38261, __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, 38261, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_nodeId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38261, __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, 38261, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 38261, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38224
 *     return (_dict_CUresult[err], phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetLocalId(hNode):
 *     """ Returns the local node id of a given graph node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetLocalId", __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":38263
 *     return (_dict_CUresult[err], nodeId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetToolsId(hNode):
 *     """ Returns an id used by tools to identify a given node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetToolsId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_646cuGraphNodeGetToolsId, "cuGraphNodeGetToolsId(hNode)\n\nReturns an id used by tools to identify a given node.\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_INVALID_VALUE`\n*toolsNodeId : unsigned long long\n    Pointer to return the id used by tools\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphDebugDotPrint` :py:obj:`~.cuGraphNodeGetContainingGraph` :py:obj:`~.cuGraphNodeGetLocalId` :py:obj:`~.cuGraphGetId` :py:obj:`~.cuGraphExecGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_647cuGraphNodeGetToolsId = {"cuGraphNodeGetToolsId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetToolsId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_646cuGraphNodeGetToolsId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_647cuGraphNodeGetToolsId(PyObject *__pyx_self, 
#if CYTHON_METH_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("cuGraphNodeGetToolsId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38263, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38263, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphNodeGetToolsId", 0) < (0)) __PYX_ERR(0, 38263, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetToolsId", 1, 1, 1, i); __PYX_ERR(0, 38263, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38263, __pyx_L3_error)
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetToolsId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38263, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetToolsId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_646cuGraphNodeGetToolsId(__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_646cuGraphNodeGetToolsId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_cyhNode;
  PyObject *__pyx_v_phNode = NULL;
  unsigned PY_LONG_LONG __pyx_v_toolsNodeId;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetToolsId", 0);

  /* "cuda/bindings/driver.pyx":38284
 *     """
 *     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":38285
 *     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":38284
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38286
 *     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":38287
 *         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, 38287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38286
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38289
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned long long toolsNodeId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38289, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38290
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef unsigned long long toolsNodeId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38290, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38291
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned long long toolsNodeId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
*/
  __pyx_v_toolsNodeId = 0;

  /* "cuda/bindings/driver.pyx":38292
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned long long toolsNodeId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38293
 *     cdef unsigned long long toolsNodeId = 0
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetToolsId(__pyx_v_cyhNode, (&__pyx_v_toolsNodeId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38293, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38292
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef unsigned long long toolsNodeId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38294
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], toolsNodeId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38295
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], toolsNodeId)
 * 
*/
    __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, 38295, __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, 38295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38295, __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, 38295, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38294
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetToolsId(cyhNode, &toolsNodeId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], toolsNodeId)
*/
  }

  /* "cuda/bindings/driver.pyx":38296
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], toolsNodeId)             # <<<<<<<<<<<<<<
 * 
 * @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, 38296, __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, 38296, __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, 38296, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_toolsNodeId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38296, __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, 38296, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 38296, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38263
 *     return (_dict_CUresult[err], nodeId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetToolsId(hNode):
 *     """ Returns an id used by tools to identify a given node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphNodeGetToolsId", __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":38298
 *     return (_dict_CUresult[err], toolsNodeId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetId(hGraph):
 *     """ Returns the id of a given graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_649cuGraphGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_648cuGraphGetId, "cuGraphGetId(hGraph)\n\nReturns the id of a given graph.\n\nReturns the id of `hGraph` in `*graphId`. The value in `*graphId` will\nmatch that referenced by :py:obj:`~.cuGraphDebugDotPrint`.\n\nParameters\n----------\nhGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n    Graph to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n*graphId : unsigned int\n    Pointer to return the graphId\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphDebugDotPrint` :py:obj:`~.cuGraphNodeGetContainingGraph` :py:obj:`~.cuGraphNodeGetLocalId` :py:obj:`~.cuGraphNodeGetToolsId` :py:obj:`~.cuGraphExecGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_649cuGraphGetId = {"cuGraphGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_649cuGraphGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_648cuGraphGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_649cuGraphGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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("cuGraphGetId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38298, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38298, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphGetId", 0) < (0)) __PYX_ERR(0, 38298, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphGetId", 1, 1, 1, i); __PYX_ERR(0, 38298, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38298, __pyx_L3_error)
    }
    __pyx_v_hGraph = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38298, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_648cuGraphGetId(__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_648cuGraphGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph) {
  CUgraph __pyx_v_cyhGraph;
  PyObject *__pyx_v_phGraph = NULL;
  unsigned int __pyx_v_graphId;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetId", 0);

  /* "cuda/bindings/driver.pyx":38322
 *     """
 *     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":38323
 *     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":38322
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38324
 *     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":38325
 *         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, 38325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38324
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38327
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef unsigned int graphId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38327, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38328
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef unsigned int graphId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38328, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38329
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef unsigned int graphId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
*/
  __pyx_v_graphId = 0;

  /* "cuda/bindings/driver.pyx":38330
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef unsigned int graphId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38331
 *     cdef unsigned int graphId = 0
 *     with nogil:
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetId(__pyx_v_cyhGraph, (&__pyx_v_graphId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38331, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38330
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef unsigned int graphId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38332
 *     with nogil:
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38333
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], graphId)
 * 
*/
    __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, 38333, __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, 38333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38333, __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, 38333, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38332
 *     with nogil:
 *         err = cydriver.cuGraphGetId(cyhGraph, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)
*/
  }

  /* "cuda/bindings/driver.pyx":38334
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)             # <<<<<<<<<<<<<<
 * 
 * @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, 38334, __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, 38334, __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, 38334, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_graphId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38334, __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, 38334, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 38334, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38298
 *     return (_dict_CUresult[err], toolsNodeId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetId(hGraph):
 *     """ Returns the id of a given graph.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphGetId", __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":38336
 *     return (_dict_CUresult[err], graphId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetId(hGraphExec):
 *     """ Returns the id of a given graph exec.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_651cuGraphExecGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_650cuGraphExecGetId, "cuGraphExecGetId(hGraphExec)\n\nReturns the id of a given graph exec.\n\nReturns the id of `hGraphExec` in `*graphId`. The value in `*graphId`\nwill match that referenced by :py:obj:`~.cuGraphDebugDotPrint`.\n\nParameters\n----------\nhGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n    Graph to query\n\nReturns\n-------\nCUresult\n    :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n*graphId : unsigned int\n    Pointer to return the graphId\n\nSee Also\n--------\n:py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphDebugDotPrint` :py:obj:`~.cuGraphNodeGetContainingGraph` :py:obj:`~.cuGraphNodeGetLocalId` :py:obj:`~.cuGraphNodeGetToolsId` :py:obj:`~.cuGraphGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_651cuGraphExecGetId = {"cuGraphExecGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_651cuGraphExecGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_650cuGraphExecGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_651cuGraphExecGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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("cuGraphExecGetId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38336, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38336, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGraphExecGetId", 0) < (0)) __PYX_ERR(0, 38336, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphExecGetId", 1, 1, 1, i); __PYX_ERR(0, 38336, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38336, __pyx_L3_error)
    }
    __pyx_v_hGraphExec = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 38336, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_650cuGraphExecGetId(__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_650cuGraphExecGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec) {
  CUgraphExec __pyx_v_cyhGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  unsigned int __pyx_v_graphId;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecGetId", 0);

  /* "cuda/bindings/driver.pyx":38360
 *     """
 *     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":38361
 *     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":38360
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38362
 *     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":38363
 *         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, 38363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38362
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38365
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int graphId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38365, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38366
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef unsigned int graphId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38366, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38367
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int graphId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
*/
  __pyx_v_graphId = 0;

  /* "cuda/bindings/driver.pyx":38368
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int graphId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38369
 *     cdef unsigned int graphId = 0
 *     with nogil:
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetId(__pyx_v_cyhGraphExec, (&__pyx_v_graphId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38369, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38368
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int graphId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38370
 *     with nogil:
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38371
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], graphId)
 * 
*/
    __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, 38371, __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, 38371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 38371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38371, __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, 38371, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38370
 *     with nogil:
 *         err = cydriver.cuGraphExecGetId(cyhGraphExec, &graphId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)
*/
  }

  /* "cuda/bindings/driver.pyx":38372
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], graphId)             # <<<<<<<<<<<<<<
 * 
 * @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, 38372, __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, 38372, __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, 38372, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_graphId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38372, __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, 38372, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 38372, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38336
 *     return (_dict_CUresult[err], graphId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetId(hGraphExec):
 *     """ Returns the id of a given graph exec.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGraphExecGetId", __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":38374
 *     return (_dict_CUresult[err], graphId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_653cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_652cuGraphGetNodes, "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_653cuGraphGetNodes = {"cuGraphGetNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_653cuGraphGetNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_652cuGraphGetNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_653cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38374, __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, 38374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38374, __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, 38374, __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, 38374, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38374, __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, 38375, __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, 38374, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_652cuGraphGetNodes(__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_652cuGraphGetNodes(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_10genexpr329__pyx_v_idx;
  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;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetNodes", 0);

  /* "cuda/bindings/driver.pyx":38405
 *     :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":38407
 *     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":38408
 *     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":38407
 *     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":38409
 *     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":38410
 *         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, 38410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38409
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38412
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38412, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38413
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cynodes = NULL
 *     pynodes = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38413, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38414
 *         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":38415
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pynodes = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38416
 *     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":38417
 *     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":38418
 *     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":38419
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38419, __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, 38419, __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, 38419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38419, __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(CUgraphNode))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38419, __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, 38419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38419, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38419, __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, 38419, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38418
 *     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":38416
 *     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":38420
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38421
 *             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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetNodes(__pyx_v_cyhGraph, __pyx_v_cynodes, (&__pyx_v_numNodes)); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38421, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38420
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":38422
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38422, __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, 38422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __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_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38423
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38423, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr329__pyx_v_idx = __pyx_t_11;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cynodes[__pyx_10genexpr329__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38423, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38423, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38423, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
          __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, 38423, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 38423, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pynodes, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":38422
 *     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":38424
 *     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":38425
 *         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":38424
 *     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":38426
 *     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":38427
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38427, __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, 38427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38427, __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, 38427, __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, 38427, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38426
 *     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":38428
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38428, __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, 38428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_numNodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 38428, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_v_pynodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pynodes) != (0)) __PYX_ERR(0, 38428, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 38428, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38374
 *     return (_dict_CUresult[err], graphId)
 * 
 * @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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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":38430
 *     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_655cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_654cuGraphGetRootNodes, "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_655cuGraphGetRootNodes = {"cuGraphGetRootNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_655cuGraphGetRootNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_654cuGraphGetRootNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_655cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38430, __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, 38430, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38430, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38430, __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, 38430, __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, 38430, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38430, __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, 38431, __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, 38430, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_654cuGraphGetRootNodes(__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_654cuGraphGetRootNodes(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_10genexpr330__pyx_v_idx;
  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;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetRootNodes", 0);

  /* "cuda/bindings/driver.pyx":38461
 *     :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":38463
 *     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":38464
 *     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":38463
 *     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":38465
 *     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":38466
 *         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, 38466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38465
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38468
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38468, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38469
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyrootNodes = NULL
 *     pyrootNodes = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38469, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38470
 *         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":38471
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyrootNodes = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38472
 *     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":38473
 *     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":38474
 *     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":38475
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38475, __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, 38475, __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, 38475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38475, __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(CUgraphNode))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38475, __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, 38475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38475, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38475, __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, 38475, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38474
 *     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":38472
 *     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":38476
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38477
 *             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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetRootNodes(__pyx_v_cyhGraph, __pyx_v_cyrootNodes, (&__pyx_v_numRootNodes)); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38477, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38476
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":38478
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38478, __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, 38478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __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_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38479
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr330__pyx_v_idx = __pyx_t_11;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyrootNodes[__pyx_10genexpr330__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38479, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38479, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38479, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
          __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, 38479, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 38479, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyrootNodes, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":38478
 *     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":38480
 *     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":38481
 *         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":38480
 *     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":38482
 *     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":38483
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38483, __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, 38483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38483, __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, 38483, __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, 38483, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38482
 *     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":38484
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38484, __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, 38484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyLong_FromSize_t(__pyx_v_numRootNodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 38484, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyrootNodes);
  __Pyx_GIVEREF(__pyx_v_pyrootNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pyrootNodes) != (0)) __PYX_ERR(0, 38484, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 38484, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38430
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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":38486
 *     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_657cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_656cuGraphGetEdges, "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`, `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_657cuGraphGetEdges = {"cuGraphGetEdges", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_657cuGraphGetEdges, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_656cuGraphGetEdges};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_657cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38486, __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, 38486, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38486, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38486, __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, 38486, __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, 38486, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38486, __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, 38487, __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, 38486, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_656cuGraphGetEdges(__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_656cuGraphGetEdges(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_10genexpr331__pyx_v_idx;
  size_t __pyx_10genexpr332__pyx_v_idx;
  size_t __pyx_10genexpr333__pyx_v_idx;
  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;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphGetEdges", 0);

  /* "cuda/bindings/driver.pyx":38528
 *     :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":38530
 *     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":38531
 *     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":38530
 *     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":38532
 *     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":38533
 *         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, 38533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38532
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38535
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38535, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38536
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     pyfrom_ = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38536, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38537
 *         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":38538
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38539
 *     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":38540
 *     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":38541
 *     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":38542
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38542, __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, 38542, __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, 38542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38542, __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(CUgraphNode))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38542, __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, 38542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38542, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38542, __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, 38542, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38541
 *     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":38539
 *     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":38543
 *         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":38544
 *             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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyto = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38545
 *     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":38546
 *     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":38547
 *     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":38548
 *         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_6 = NULL;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38548, __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, 38548, __pyx_L1_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_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __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, 38548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38548, __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, 38548, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38547
 *     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":38545
 *     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":38549
 *         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":38550
 *             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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38551
 *     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":38552
 *     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":38553
 *     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":38554
 *         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(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
*/
      __pyx_t_2 = NULL;
      __pyx_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38554, __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, 38554, __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, 38554, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38554, __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(CUgraphEdgeData))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38554, __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, 38554, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38554, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38554, __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, 38554, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38553
 *     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":38551
 *     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":38555
 *         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(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38556
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphGetEdges(__pyx_v_cyhGraph, __pyx_v_cyfrom_, __pyx_v_cyto, __pyx_v_cyedgeData, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38556, __pyx_L11_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38555
 *         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(cyhGraph, cyfrom_, cyto, cyedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L12;
        }
        __pyx_L11_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L12:;
      }
  }

  /* "cuda/bindings/driver.pyx":38557
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38557, __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, 38557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __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_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38558
 *         err = cydriver.cuGraphGetEdges(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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr331__pyx_v_idx = __pyx_t_11;
        __pyx_t_3 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyfrom_[__pyx_10genexpr331__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38558, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38558, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38558, __pyx_L1_error)
          __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
          __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, 38558, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_2);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 38558, __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_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":38557
 *     with nogil:
 *         err = cydriver.cuGraphGetEdges(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":38559
 *     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":38560
 *         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":38559
 *     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":38561
 *     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_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38561, __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, 38561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __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_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38562
 *         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, 38562, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr332__pyx_v_idx = __pyx_t_11;
        __pyx_t_6 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cyto[__pyx_10genexpr332__pyx_v_idx]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38562, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_12 = 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, 38562, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_8, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38562, __pyx_L1_error)
          __pyx_t_7 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
          __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_7)) __PYX_ERR(0, 38562, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_7);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 38562, __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_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38561
 *     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":38563
 *     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":38564
 *         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":38563
 *     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":38565
 *     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_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38565, __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, 38565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__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_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38566
 *         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, 38566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr333__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr333__pyx_v_idx])))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38566, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_12 = 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, 38566, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_8, __pyx_t_6, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38566, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38566, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 38566, __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_7));
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":38565
 *     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":38567
 *     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":38568
 *         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":38567
 *     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":38569
 *     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":38570
 *         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, 38570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 38570, __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, 38570, __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, 38570, __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, 38570, __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, 38570, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38569
 *     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":38571
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38571, __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, 38571, __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, 38571, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38571, __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, 38571, __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, 38571, __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, 38571, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 38571, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_6) != (0)) __PYX_ERR(0, 38571, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38486
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38573
 *     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_659cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_658cuGraphNodeGetDependencies, "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\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_659cuGraphNodeGetDependencies = {"cuGraphNodeGetDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_659cuGraphNodeGetDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_658cuGraphNodeGetDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_659cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38573, __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, 38573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38573, __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, 38573, __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, 38573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38573, __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, 38574, __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, 38573, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_658cuGraphNodeGetDependencies(__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_658cuGraphNodeGetDependencies(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_10genexpr334__pyx_v_idx;
  size_t __pyx_10genexpr335__pyx_v_idx;
  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;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies", 0);

  /* "cuda/bindings/driver.pyx":38612
 *     :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":38614
 *     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":38615
 *     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":38614
 *     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":38616
 *     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":38617
 *         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, 38617, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38616
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38619
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38619, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38620
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependencies = NULL
 *     pydependencies = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38620, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38621
 *         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":38622
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pydependencies = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38623
 *     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":38624
 *     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":38625
 *     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":38626
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38626, __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, 38626, __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, 38626, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38626, __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(CUgraphNode))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38626, __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, 38626, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38626, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38626, __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, 38626, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38625
 *     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":38623
 *     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":38627
 *         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":38628
 *             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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38629
 *     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":38630
 *     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":38631
 *     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":38632
 *         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(cyhNode, cydependencies, cyedgeData, &numDependencies)
*/
      __pyx_t_6 = NULL;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38632, __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, 38632, __pyx_L1_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_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __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, 38632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38632, __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, 38632, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38631
 *     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":38629
 *     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":38633
 *         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(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38634
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependencies(__pyx_v_cyhNode, __pyx_v_cydependencies, __pyx_v_cyedgeData, (&__pyx_v_numDependencies)); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38634, __pyx_L9_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38633
 *         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(cyhNode, cydependencies, cyedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":38635
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38635, __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, 38635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__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_3)) __PYX_ERR(0, 38635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_6)) __PYX_ERR(0, 38635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38636
 *         err = cydriver.cuGraphNodeGetDependencies(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_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38636, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr334__pyx_v_idx = __pyx_t_11;
        __pyx_t_3 = NULL;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependencies[__pyx_10genexpr334__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38636, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38636, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38636, __pyx_L1_error)
          __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38636, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_6);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 38636, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38635
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependencies(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":38637
 *     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":38638
 *         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":38637
 *     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":38639
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__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, 38639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_8)) __PYX_ERR(0, 38639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38639, __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_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38640
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38640, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr335__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = NULL;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr335__pyx_v_idx])))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38640, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
          __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38640, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_7, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38640, __pyx_L1_error)
          __pyx_t_8 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
          __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_8)) __PYX_ERR(0, 38640, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_8);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 38640, __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_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":38639
 *     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":38641
 *     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":38642
 *         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":38641
 *     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":38643
 *     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":38644
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38644, __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, 38644, __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, 38644, __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, 38644, __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, 38644, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38643
 *     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":38645
 *     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_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __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, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38645, __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, 38645, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies);
  __Pyx_GIVEREF(__pyx_v_pydependencies);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_pydependencies) != (0)) __PYX_ERR(0, 38645, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 38645, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_3) != (0)) __PYX_ERR(0, 38645, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38573
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38647
 *     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_661cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_660cuGraphNodeGetDependentNodes, "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\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_661cuGraphNodeGetDependentNodes = {"cuGraphNodeGetDependentNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_661cuGraphNodeGetDependentNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_660cuGraphNodeGetDependentNodes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_661cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38647, __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, 38647, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38647, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38647, __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, 38647, __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, 38647, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38647, __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, 38648, __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, 38647, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_660cuGraphNodeGetDependentNodes(__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_660cuGraphNodeGetDependentNodes(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_10genexpr336__pyx_v_idx;
  size_t __pyx_10genexpr337__pyx_v_idx;
  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;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes", 0);

  /* "cuda/bindings/driver.pyx":38686
 *     :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":38688
 *     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":38689
 *     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":38688
 *     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":38690
 *     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":38691
 *         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, 38691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38690
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":38693
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38693, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38694
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cydependentNodes = NULL
 *     pydependentNodes = []
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 38694, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":38695
 *         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":38696
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pydependentNodes = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38697
 *     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":38698
 *     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":38699
 *     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":38700
 *         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_t_6 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38700, __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, 38700, __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, 38700, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38700, __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(CUgraphNode))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38700, __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, 38700, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38700, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3)) __PYX_ERR(0, 38700, __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, 38700, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38699
 *     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":38697
 *     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":38701
 *         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":38702
 *             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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":38703
 *     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":38704
 *     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":38705
 *     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":38706
 *         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(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
*/
      __pyx_t_6 = NULL;
      __pyx_t_2 = __Pyx_PyLong_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38706, __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, 38706, __pyx_L1_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_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38706, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38706, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __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, 38706, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38706, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38706, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38706, __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, 38706, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38705
 *     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":38703
 *     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":38707
 *         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(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38708
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(cydriver.CUgraphEdgeData)))
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetDependentNodes(__pyx_v_cyhNode, __pyx_v_cydependentNodes, __pyx_v_cyedgeData, (&__pyx_v_numDependentNodes)); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38708, __pyx_L9_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":38707
 *         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(cyhNode, cydependentNodes, cyedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L10;
        }
        __pyx_L9_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L10:;
      }
  }

  /* "cuda/bindings/driver.pyx":38709
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38709, __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, 38709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__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_3)) __PYX_ERR(0, 38709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_6)) __PYX_ERR(0, 38709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38710
 *         err = cydriver.cuGraphNodeGetDependentNodes(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_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38710, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr336__pyx_v_idx = __pyx_t_11;
        __pyx_t_3 = NULL;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cydependentNodes[__pyx_10genexpr336__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38710, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
          __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38710, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_7, __pyx_t_8, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38710, __pyx_L1_error)
          __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38710, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_6);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 38710, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependentNodes, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":38709
 *     with nogil:
 *         err = cydriver.cuGraphNodeGetDependentNodes(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":38711
 *     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":38712
 *         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":38711
 *     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":38713
 *     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_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__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, 38713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_8)) __PYX_ERR(0, 38713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38713, __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_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 38713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":38714
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38714, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_4;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr337__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = NULL;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(&(__pyx_v_cyedgeData[__pyx_10genexpr337__pyx_v_idx])))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_12 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
          __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38714, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ptr_2, __pyx_t_7, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 38714, __pyx_L1_error)
          __pyx_t_8 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
          __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_8)) __PYX_ERR(0, 38714, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_8);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 38714, __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_6));
    __pyx_t_6 = 0;

    /* "cuda/bindings/driver.pyx":38713
 *     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":38715
 *     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":38716
 *         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":38715
 *     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":38717
 *     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":38718
 *         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_6, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38718, __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, 38718, __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, 38718, __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, 38718, __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, 38718, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":38717
 *     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":38719
 *     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_8, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 38719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_FromSize_t(__pyx_v_numDependentNodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38719, __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, 38719, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependentNodes);
  __Pyx_GIVEREF(__pyx_v_pydependentNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_pydependentNodes) != (0)) __PYX_ERR(0, 38719, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_pyedgeData) != (0)) __PYX_ERR(0, 38719, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_3) != (0)) __PYX_ERR(0, 38719, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38647
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __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_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":38721
 *     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]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_663cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_662cuGraphAddDependencies, "cuGraphAddDependencies(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.\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_663cuGraphAddDependencies = {"cuGraphAddDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_663cuGraphAddDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_662cuGraphAddDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_663cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38721, __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, 38721, __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, 38721, __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, 38721, __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, 38721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38721, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 5, 5, i); __PYX_ERR(0, 38721, __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, 38721, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38721, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38721, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38721, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38721, __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, 38722, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 38721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_662cuGraphAddDependencies(__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_22cuGraphAddDependencies_2generator174(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38756
 *     """
 *     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_22cuGraphAddDependencies_genexpr(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, 38756, __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_2generator174, ((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_cuGraphAddDependencies_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38756, __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_2generator174(__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, 38756, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38756, __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, 38756, __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, 38756, __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, 38756, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38756, __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, 38756, __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, 38756, __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_22cuGraphAddDependencies_5generator175(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38759
 *         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_22cuGraphAddDependencies_3genexpr(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, 38759, __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_5generator175, ((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_cuGraphAddDependencies_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38759, __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_5generator175(__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, 38759, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38759, __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, 38759, __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, 38759, __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, 38759, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38759, __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, 38759, __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, 38759, __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_8generator176(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38762
 *         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_6genexpr(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, 38762, __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_8generator176, ((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_cuGraphAddDependencies_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38762, __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_8generator176(__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, 38762, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38762, __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, 38762, __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, 38762, __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, 38762, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38762, __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, 38762, __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, 38762, __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":38721
 *     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]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_662cuGraphAddDependencies(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_22cuGraphAddDependencies_2generator174 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator175 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_8generator176 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUgraphEdgeData_st *__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);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/bindings/driver.pyx":38755
 *     :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, 38755, __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":38756
 *     """
 *     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_22cuGraphAddDependencies_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38756, __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, 38756, __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, 38756, __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":38757
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38757, __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, 38757, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38756
 *     """
 *     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":38758
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":38759
 *         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_22cuGraphAddDependencies_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38759, __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":38760
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38760, __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, 38760, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38759
 *         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":38761
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_1 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38762
 *         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_1 = __pyx_pf_4cuda_8bindings_6driver_22cuGraphAddDependencies_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38762, __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, 38762, __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, 38762, __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":38763
 *     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_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38763, __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, 38763, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38762
 *         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":38765
 *         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":38766
 *     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":38765
 *         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":38767
 *     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":38768
 *         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, 38768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38767
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38770
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38770, __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, 38770, __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_L6:;

  /* "cuda/bindings/driver.pyx":38771
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __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, 38771, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38772
 *         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":38773
 *     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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38773, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38774
 *     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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38774, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38775
 *     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":38776
 *         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_3 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38776, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38776, __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, 38776, __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, 38776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38776, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38776, __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, 38776, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38776, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38776, __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, 38776, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38775
 *     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":38778
 *             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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38778, __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":38779
 *         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_1 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38779, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyfrom_[__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":38773
 *     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":38780
 *             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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38780, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38781
 *                 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_1 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyfrom_ = ((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":38780
 *             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":38782
 *     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":38783
 *         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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38783, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38784
 *     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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38784, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38785
 *     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":38786
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38786, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38786, __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, 38786, __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, 38786, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38786, __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(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38786, __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, 38786, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38786, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 38786, __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, 38786, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38785
 *     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":38788
 *             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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38788, __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":38789
 *         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_1 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38789, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyto[__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":38783
 *         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":38790
 *             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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38790, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38791
 *                 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_1 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyto = ((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":38790
 *             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":38792
 *     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":38793
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38793, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38794
 *     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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38794, __pyx_L1_error)
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_7, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38795
 *     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":38796
 *         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_3 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38796, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38796, __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, 38796, __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, 38796, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38796, __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(CUgraphEdgeData))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38796, __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, 38796, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38796, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38796, __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, 38796, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38795
 *     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":38797
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38797, __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":38798
 *             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_1 = __Pyx_GetItemInt(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38798, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cyedgeData[__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":38793
 *         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":38799
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38799, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38800
 *             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(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_edgeData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_cyedgeData = __pyx_t_13;

    /* "cuda/bindings/driver.pyx":38799
 *         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":38801
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38802
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, 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_cyedgeData, __pyx_v_numDependencies); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38802, __pyx_L20_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":38801
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphAddDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L21;
        }
        __pyx_L20_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L21:;
      }
  }

  /* "cuda/bindings/driver.pyx":38803
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38803, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38804
 *         err = cydriver.cuGraphAddDependencies(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":38803
 *     with nogil:
 *         err = cydriver.cuGraphAddDependencies(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":38805
 *     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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38805, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38806
 *         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":38805
 *     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":38807
 *     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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38807, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38808
 *         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":38807
 *     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":38809
 *     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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38809, __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, 38809, __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, 38809, __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(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38809, __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, 38809, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38721
 *     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]], edgeData : Optional[tuple[CUgraphEdgeData] | list[CUgraphEdgeData]], 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_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator174);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_5generator175);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuGraphAddDependencies_8generator176);
  __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":38811
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(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.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_665cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_664cuGraphRemoveDependencies, "cuGraphRemoveDependencies(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.\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_665cuGraphRemoveDependencies = {"cuGraphRemoveDependencies", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_665cuGraphRemoveDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_664cuGraphRemoveDependencies};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_665cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 38811, __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, 38811, __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, 38811, __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, 38811, __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, 38811, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38811, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38811, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 5, 5, i); __PYX_ERR(0, 38811, __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, 38811, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38811, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 38811, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 38811, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 38811, __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, 38812, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 38811, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_664cuGraphRemoveDependencies(__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_25cuGraphRemoveDependencies_2generator177(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38852
 *     """
 *     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_25cuGraphRemoveDependencies_genexpr(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, 38852, __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_2generator177, ((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_cuGraphRemoveDependencies_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38852, __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_2generator177(__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, 38852, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38852, __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, 38852, __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, 38852, __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, 38852, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38852, __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, 38852, __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, 38852, __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_25cuGraphRemoveDependencies_5generator178(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38855
 *         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_25cuGraphRemoveDependencies_3genexpr(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, 38855, __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_5generator178, ((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_cuGraphRemoveDependencies_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38855, __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_5generator178(__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, 38855, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38855, __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, 38855, __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, 38855, __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, 38855, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38855, __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, 38855, __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, 38855, __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_8generator179(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":38858
 *         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_6genexpr(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, 38858, __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_8generator179, ((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_cuGraphRemoveDependencies_locals, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 38858, __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_8generator179(__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, 38858, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 38858, __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, 38858, __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, 38858, __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, 38858, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 38858, __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, 38858, __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, 38858, __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":38811
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(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.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_664cuGraphRemoveDependencies(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_25cuGraphRemoveDependencies_2generator177 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator178 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_8generator179 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUgraphEdgeData_st *__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);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/bindings/driver.pyx":38851
 *     :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, 38851, __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":38852
 *     """
 *     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_25cuGraphRemoveDependencies_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38852, __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, 38852, __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, 38852, __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":38853
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38853, __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, 38853, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38852
 *     """
 *     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":38854
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":38855
 *         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_25cuGraphRemoveDependencies_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 38855, __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":38856
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38856, __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, 38856, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38855
 *         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":38857
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_1 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":38858
 *         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_1 = __pyx_pf_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38858, __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, 38858, __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, 38858, __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":38859
 *     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_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38859, __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, 38859, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":38858
 *         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":38861
 *         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":38862
 *     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":38861
 *         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":38863
 *     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":38864
 *         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, 38864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":38863
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L6;
  }

  /* "cuda/bindings/driver.pyx":38866
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38866, __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, 38866, __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_L6:;

  /* "cuda/bindings/driver.pyx":38867
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode* cyfrom_ = NULL
 *     if len(from_) > 1:
*/
  __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, 38867, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":38868
 *         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":38869
 *     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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38869, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38870
 *     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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38870, __pyx_L1_error)
    __pyx_v_cyfrom_ = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38871
 *     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":38872
 *         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_3 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38872, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38872, __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, 38872, __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, 38872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38872, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38872, __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, 38872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38872, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38872, __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, 38872, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38871
 *     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":38874
 *             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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38874, __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":38875
 *         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_1 = __Pyx_GetItemInt(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38875, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyfrom_[__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":38869
 *     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":38876
 *             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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38876, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38877
 *                 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_1 = __Pyx_GetItemInt(__pyx_v_from_, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyfrom_ = ((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":38876
 *             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":38878
 *     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":38879
 *         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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38879, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38880
 *     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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38880, __pyx_L1_error)
    __pyx_v_cyto = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":38881
 *     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":38882
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38882, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38882, __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, 38882, __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, 38882, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38882, __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(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38882, __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, 38882, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38882, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 38882, __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, 38882, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38881
 *     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":38884
 *             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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38884, __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":38885
 *         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_1 = __Pyx_GetItemInt(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38885, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cyto[__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":38879
 *         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":38886
 *             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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38886, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38887
 *                 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_1 = __Pyx_GetItemInt(__pyx_v_to, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_cyto = ((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":38886
 *             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":38888
 *     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":38889
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38889, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38890
 *     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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38890, __pyx_L1_error)
    __pyx_v_cyedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_7, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":38891
 *     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":38892
 *         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_3 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38892, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38892, __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, 38892, __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, 38892, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38892, __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(CUgraphEdgeData))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38892, __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, 38892, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38892, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38892, __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, 38892, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":38891
 *     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":38893
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38893, __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":38894
 *             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_1 = __Pyx_GetItemInt(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38894, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cyedgeData[__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":38889
 *         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":38895
 *         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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38895, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":38896
 *             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(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
*/
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_edgeData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = ((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_cyedgeData = __pyx_t_13;

    /* "cuda/bindings/driver.pyx":38895
 *         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":38897
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38898
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, 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_cyedgeData, __pyx_v_numDependencies); if (unlikely(__pyx_t_14 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38898, __pyx_L20_error)
        __pyx_v_err = __pyx_t_14;
      }

      /* "cuda/bindings/driver.pyx":38897
 *     elif len(edgeData) == 1:
 *         cyedgeData = (<CUgraphEdgeData>edgeData[0])._pvt_ptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphRemoveDependencies(cyhGraph, cyfrom_, cyto, cyedgeData, numDependencies)
 *     if len(from_) > 1 and cyfrom_ is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L21;
        }
        __pyx_L20_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L21:;
      }
  }

  /* "cuda/bindings/driver.pyx":38899
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(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_7 = PyObject_Length(__pyx_v_from_); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38899, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38900
 *         err = cydriver.cuGraphRemoveDependencies(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":38899
 *     with nogil:
 *         err = cydriver.cuGraphRemoveDependencies(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":38901
 *     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_7 = PyObject_Length(__pyx_v_to); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38901, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38902
 *         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":38901
 *     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":38903
 *     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_7 = PyObject_Length(__pyx_v_edgeData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 38903, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 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":38904
 *         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":38903
 *     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":38905
 *     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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38905, __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, 38905, __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, 38905, __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(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 38905, __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, 38905, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38811
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(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.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator177);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_5generator178);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_25cuGraphRemoveDependencies_8generator179);
  __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":38907
 *     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_667cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_666cuGraphDestroyNode, "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_667cuGraphDestroyNode = {"cuGraphDestroyNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_667cuGraphDestroyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_666cuGraphDestroyNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_667cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38907, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 38907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38907, __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, 38907, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38907, __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, 38907, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_666cuGraphDestroyNode(__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_666cuGraphDestroyNode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDestroyNode", 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
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38937, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":38938
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (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_5));

  /* "cuda/bindings/driver.pyx":38939
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":38940
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroyNode(__pyx_v_cyhNode); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 38940, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":38939
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":38941
 *     with nogil:
 *         err = cydriver.cuGraphDestroyNode(cyhNode)
 *     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, 38941, __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, 38941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 38941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 38941, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38907
 *     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_7);
  __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":38943
 *     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_669cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_668cuGraphInstantiate, "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_669cuGraphInstantiate = {"cuGraphInstantiate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_669cuGraphInstantiate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_668cuGraphInstantiate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_669cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 38943, __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, 38943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 38943, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 38943, __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, 38943, __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, 38943, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 38943, __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, 38944, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphInstantiate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 38943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_668cuGraphInstantiate(__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_668cuGraphInstantiate(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphInstantiate", 0);

  /* "cuda/bindings/driver.pyx":39031
 *     """
 *     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":39032
 *     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":39031
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39033
 *     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":39034
 *         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, 39034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39033
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39036
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39036, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39037
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39037, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39038
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39038, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":39039
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39040
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiate(((CUgraphExec *)__pyx_v_phGraphExec->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39040, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39039
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39041
 *     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":39042
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39042, __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, 39042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 39042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 39042, __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, 39042, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39041
 *     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":39043
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39043, __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, 39043, __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, 39043, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39043, __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, 39043, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphExec)) != (0)) __PYX_ERR(0, 39043, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":38943
 *     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_7);
  __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":39045
 *     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_671cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_670cuGraphInstantiateWithParams, "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_671cuGraphInstantiateWithParams = {"cuGraphInstantiateWithParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_671cuGraphInstantiateWithParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_670cuGraphInstantiateWithParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_671cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39045, __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, 39045, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39045, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39045, __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, 39045, __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, 39045, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39045, __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, 39045, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39046, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_670cuGraphInstantiateWithParams(__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_670cuGraphInstantiateWithParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *__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("cuGraphInstantiateWithParams", 0);

  /* "cuda/bindings/driver.pyx":39173
 *     """
 *     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":39174
 *     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":39173
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39175
 *     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":39176
 *         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, 39176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39175
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39178
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39178, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39179
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39179, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39180
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39180, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExec *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":39181
 *     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_6 = __pyx_v_instantiateParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyinstantiateParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39182
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39183
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphInstantiateWithParams(((CUgraphExec *)__pyx_v_phGraphExec->_pvt_ptr), __pyx_v_cyhGraph, __pyx_v_cyinstantiateParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39183, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39182
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39184
 *     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":39185
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39185, __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, 39185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 39185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 39185, __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, 39185, __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, 39185, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39184
 *     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":39186
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39186, __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, 39186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 39186, __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, 39186, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphExec)) != (0)) __PYX_ERR(0, 39186, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39045
 *     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_8);
  __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":39188
 *     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_673cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_672cuGraphExecGetFlags, "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_673cuGraphExecGetFlags = {"cuGraphExecGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_673cuGraphExecGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_672cuGraphExecGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_673cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39188, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 39188, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39188, __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, 39188, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39188, __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, 39188, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_672cuGraphExecGetFlags(__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_672cuGraphExecGetFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecGetFlags", 0);

  /* "cuda/bindings/driver.pyx":39214
 *     """
 *     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":39215
 *     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":39214
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39216
 *     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":39217
 *         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, 39217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39216
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39219
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39219, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39220
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cuuint64_t flags = cuuint64_t()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39220, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39221
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39221, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_flags = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":39222
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39223
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecGetFlags(__pyx_v_cyhGraphExec, ((cuuint64_t *)__pyx_v_flags->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39223, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39222
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":39224
 *     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":39225
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39225, __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, 39225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 39225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 39225, __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, 39225, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39224
 *     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":39226
 *     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, 39226, __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, 39226, __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, 39226, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39226, __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, 39226, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_flags);
  __Pyx_GIVEREF((PyObject *)__pyx_v_flags);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_flags)) != (0)) __PYX_ERR(0, 39226, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39188
 *     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_7);
  __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":39228
 *     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_675cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_674cuGraphExecKernelNodeSetParams, "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_675cuGraphExecKernelNodeSetParams = {"cuGraphExecKernelNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_675cuGraphExecKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_674cuGraphExecKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_675cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39228, __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, 39228, __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, 39228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39228, __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, 39228, __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, 39228, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39228, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39228, __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, 39228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39229, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_674cuGraphExecKernelNodeSetParams(__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_674cuGraphExecKernelNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__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("cuGraphExecKernelNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39286
 *     """
 *     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":39287
 *     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":39286
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39288
 *     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":39289
 *         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, 39289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39288
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39291
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39291, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39292
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39292, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39294
 *     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":39295
 *     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":39294
 *     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":39296
 *     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":39297
 *         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, 39297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39296
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39299
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39299, __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, 39299, __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_L4:;

  /* "cuda/bindings/driver.pyx":39300
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39300, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39301
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39302
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39303
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecKernelNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39303, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39302
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39304
 *     with nogil:
 *         err = cydriver.cuGraphExecKernelNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 39304, __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, 39304, __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, 39304, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39304, __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, 39304, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39228
 *     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_8);
  __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":39306
 *     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_677cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_676cuGraphExecMemcpyNodeSetParams, "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_677cuGraphExecMemcpyNodeSetParams = {"cuGraphExecMemcpyNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_677cuGraphExecMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_676cuGraphExecMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_677cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39306, __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, 39306, __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, 39306, __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, 39306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39306, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39306, __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, 39306, __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, 39306, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39306, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39306, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 39306, __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, 39306, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39307, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_676cuGraphExecMemcpyNodeSetParams(__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_676cuGraphExecMemcpyNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMCPY3D_st *__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("cuGraphExecMemcpyNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39350
 *     """
 *     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":39351
 *     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":39350
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39352
 *     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":39353
 *         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, 39353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39352
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39355
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39355, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39356
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39356, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39358
 *     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":39359
 *     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":39358
 *     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":39360
 *     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":39361
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39360
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39363
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39363, __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, 39363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39364
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39364, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39366
 *     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":39367
 *     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":39366
 *     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":39368
 *     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":39369
 *         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, 39369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39368
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39371
 *         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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39371, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39372
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39372, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39373
 *         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_6 = __pyx_v_copyParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cycopyParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39374
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39375
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemcpyNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cycopyParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39375, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39374
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39376
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39376, __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, 39376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 39376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 39376, __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, 39376, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39306
 *     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_8);
  __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":39378
 *     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_679cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_678cuGraphExecMemsetNodeSetParams, "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_679cuGraphExecMemsetNodeSetParams = {"cuGraphExecMemsetNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_679cuGraphExecMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_678cuGraphExecMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_679cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39378, __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, 39378, __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, 39378, __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, 39378, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39378, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39378, __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, 39378, __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, 39378, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39378, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39378, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 39378, __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, 39378, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39379, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_678cuGraphExecMemsetNodeSetParams(__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_678cuGraphExecMemsetNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_MEMSET_NODE_PARAMS_st *__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("cuGraphExecMemsetNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39427
 *     """
 *     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":39428
 *     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":39427
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39429
 *     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":39430
 *         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, 39430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39429
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39432
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39432, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39433
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39433, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39435
 *     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":39436
 *     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":39435
 *     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":39437
 *     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":39438
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39437
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39440
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39440, __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, 39440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39441
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39441, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39443
 *     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":39444
 *     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":39443
 *     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":39445
 *     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":39446
 *         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, 39446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39445
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39448
 *         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_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39448, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39449
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39449, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39450
 *         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_6 = __pyx_v_memsetParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cymemsetParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39451
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39452
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecMemsetNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cymemsetParams_ptr, __pyx_v_cyctx); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39452, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39451
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39453
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39453, __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, 39453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 39453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 39453, __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, 39453, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39378
 *     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_8);
  __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":39455
 *     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_681cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_680cuGraphExecHostNodeSetParams, "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_681cuGraphExecHostNodeSetParams = {"cuGraphExecHostNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_681cuGraphExecHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_680cuGraphExecHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_681cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39455, __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, 39455, __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, 39455, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39455, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39455, __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, 39455, __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, 39455, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39455, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39455, __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, 39455, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39456, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_680cuGraphExecHostNodeSetParams(__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_680cuGraphExecHostNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_HOST_NODE_PARAMS_st *__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("cuGraphExecHostNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39487
 *     """
 *     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":39488
 *     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":39487
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39489
 *     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":39490
 *         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, 39490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39489
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39492
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39492, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39493
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39493, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39495
 *     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":39496
 *     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":39495
 *     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":39497
 *     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":39498
 *         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, 39498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39497
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39500
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39500, __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, 39500, __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_L4:;

  /* "cuda/bindings/driver.pyx":39501
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39501, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39502
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39503
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39504
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecHostNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39504, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39503
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39505
 *     with nogil:
 *         err = cydriver.cuGraphExecHostNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 39505, __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, 39505, __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, 39505, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39505, __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, 39505, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39455
 *     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_8);
  __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":39507
 *     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_683cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_682cuGraphExecChildGraphNodeSetParams, "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_683cuGraphExecChildGraphNodeSetParams = {"cuGraphExecChildGraphNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_683cuGraphExecChildGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_682cuGraphExecChildGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_683cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39507, __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, 39507, __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, 39507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39507, __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, 39507, __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, 39507, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39507, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39507, __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, 39507, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_682cuGraphExecChildGraphNodeSetParams(__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_682cuGraphExecChildGraphNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecChildGraphNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39547
 *     """
 *     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":39548
 *     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":39547
 *     """
 *     cdef cydriver.CUgraph cychildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39549
 *     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":39550
 *         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, 39550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39549
 *     if childGraph is None:
 *         pchildGraph = 0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39552
 *         pchildGraph = int(childGraph)
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))             # <<<<<<<<<<<<<<
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_childGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39552, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39553
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 *     cychildGraph = <cydriver.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39553, __pyx_L1_error)
  __pyx_v_cychildGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39555
 *     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":39556
 *     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":39555
 *     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":39557
 *     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":39558
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39557
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39560
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39560, __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, 39560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39561
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39561, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39563
 *     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":39564
 *     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":39563
 *     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":39565
 *     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":39566
 *         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, 39566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39565
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39568
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39568, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39569
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39569, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39570
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39571
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecChildGraphNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cychildGraph); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39571, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39570
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39572
 *     with nogil:
 *         err = cydriver.cuGraphExecChildGraphNodeSetParams(cyhGraphExec, cyhNode, cychildGraph)
 *     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, 39572, __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, 39572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 39572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 39572, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39507
 *     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_7);
  __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":39574
 *     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_685cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_684cuGraphExecEventRecordNodeSetEvent, "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_685cuGraphExecEventRecordNodeSetEvent = {"cuGraphExecEventRecordNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_685cuGraphExecEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_684cuGraphExecEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_685cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39574, __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, 39574, __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, 39574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39574, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39574, __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, 39574, __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, 39574, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39574, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39574, __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, 39574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_684cuGraphExecEventRecordNodeSetEvent(__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_684cuGraphExecEventRecordNodeSetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecEventRecordNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":39607
 *     """
 *     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":39608
 *     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":39607
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39609
 *     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":39610
 *         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, 39610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39609
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39612
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39612, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39613
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39613, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39615
 *     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":39616
 *     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":39615
 *     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":39617
 *     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":39618
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39617
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39620
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39620, __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, 39620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39621
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39621, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39623
 *     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":39624
 *     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":39623
 *     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":39625
 *     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":39626
 *         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, 39626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39625
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39628
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39628, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39629
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39629, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39630
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39631
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventRecordNodeSetEvent(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39631, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39630
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39632
 *     with nogil:
 *         err = cydriver.cuGraphExecEventRecordNodeSetEvent(cyhGraphExec, 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, 39632, __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, 39632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 39632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 39632, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39574
 *     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_7);
  __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":39634
 *     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_687cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_686cuGraphExecEventWaitNodeSetEvent, "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_687cuGraphExecEventWaitNodeSetEvent = {"cuGraphExecEventWaitNodeSetEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_687cuGraphExecEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_686cuGraphExecEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_687cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39634, __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, 39634, __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, 39634, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39634, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39634, __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, 39634, __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, 39634, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39634, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39634, __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, 39634, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_686cuGraphExecEventWaitNodeSetEvent(__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_686cuGraphExecEventWaitNodeSetEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecEventWaitNodeSetEvent", 0);

  /* "cuda/bindings/driver.pyx":39667
 *     """
 *     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":39668
 *     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":39667
 *     """
 *     cdef cydriver.CUevent cyevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39669
 *     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":39670
 *         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, 39670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39669
 *     if event is None:
 *         pevent = 0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39672
 *         pevent = int(event)
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *     cyevent = <cydriver.CUevent><void_ptr>pevent
 *     cdef cydriver.CUgraphNode cyhNode
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_event};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39672, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39673
 *     else:
 *         pevent = int(CUevent(event))
 *     cyevent = <cydriver.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39673, __pyx_L1_error)
  __pyx_v_cyevent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39675
 *     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":39676
 *     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":39675
 *     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":39677
 *     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":39678
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39677
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39680
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hNode};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39680, __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, 39680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":39681
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39681, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39683
 *     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":39684
 *     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":39683
 *     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":39685
 *     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":39686
 *         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, 39686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39685
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":39688
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39688, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":39689
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39689, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39690
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39691
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, cyhNode, cyevent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecEventWaitNodeSetEvent(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cyevent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39691, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39690
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":39692
 *     with nogil:
 *         err = cydriver.cuGraphExecEventWaitNodeSetEvent(cyhGraphExec, 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, 39692, __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, 39692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 39692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 39692, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39634
 *     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_7);
  __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":39694
 *     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_689cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_688cuGraphExecExternalSemaphoresSignalNodeSetParams, "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_689cuGraphExecExternalSemaphoresSignalNodeSetParams = {"cuGraphExecExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_689cuGraphExecExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_688cuGraphExecExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_689cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39694, __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, 39694, __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, 39694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39694, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39694, __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, 39694, __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, 39694, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39694, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39694, __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, 39694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39695, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_688cuGraphExecExternalSemaphoresSignalNodeSetParams(__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_688cuGraphExecExternalSemaphoresSignalNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__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("cuGraphExecExternalSemaphoresSignalNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39731
 *     """
 *     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":39732
 *     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":39731
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39733
 *     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":39734
 *         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, 39734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39733
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39736
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39736, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39737
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39737, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39739
 *     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":39740
 *     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":39739
 *     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":39741
 *     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":39742
 *         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, 39742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39741
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39744
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39744, __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, 39744, __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_L4:;

  /* "cuda/bindings/driver.pyx":39745
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39745, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39746
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39747
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39748
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39748, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39747
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39749
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresSignalNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 39749, __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, 39749, __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, 39749, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39749, __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, 39749, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39694
 *     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_8);
  __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":39751
 *     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_691cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_690cuGraphExecExternalSemaphoresWaitNodeSetParams, "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_691cuGraphExecExternalSemaphoresWaitNodeSetParams = {"cuGraphExecExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_691cuGraphExecExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_690cuGraphExecExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_691cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39751, __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, 39751, __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, 39751, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39751, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39751, __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, 39751, __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, 39751, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39751, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39751, __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, 39751, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 39752, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_690cuGraphExecExternalSemaphoresWaitNodeSetParams(__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_690cuGraphExecExternalSemaphoresWaitNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__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("cuGraphExecExternalSemaphoresWaitNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":39788
 *     """
 *     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":39789
 *     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":39788
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39790
 *     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":39791
 *         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, 39791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39790
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39793
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39793, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39794
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39794, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39796
 *     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":39797
 *     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":39796
 *     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":39798
 *     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":39799
 *         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, 39799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39798
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39801
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39801, __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, 39801, __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_L4:;

  /* "cuda/bindings/driver.pyx":39802
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39802, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39803
 *         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_6 = __pyx_v_nodeParams->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":39804
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39805
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39805, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":39804
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39806
 *     with nogil:
 *         err = cydriver.cuGraphExecExternalSemaphoresWaitNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 39806, __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, 39806, __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, 39806, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39806, __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, 39806, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39751
 *     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_8);
  __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":39808
 *     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_693cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_692cuGraphNodeSetEnabled, "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_693cuGraphNodeSetEnabled = {"cuGraphNodeSetEnabled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_693cuGraphNodeSetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_692cuGraphNodeSetEnabled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_693cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39808, __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, 39808, __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, 39808, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39808, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39808, __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, 39808, __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, 39808, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39808, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 39808, __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, 39809, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 39808, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_692cuGraphNodeSetEnabled(__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_692cuGraphNodeSetEnabled(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeSetEnabled", 0);

  /* "cuda/bindings/driver.pyx":39855
 *     """
 *     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":39856
 *     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":39855
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39857
 *     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":39858
 *         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, 39858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39857
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39860
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39860, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39861
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39861, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39863
 *     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":39864
 *     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":39863
 *     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":39865
 *     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":39866
 *         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, 39866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39865
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39868
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39868, __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, 39868, __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_L4:;

  /* "cuda/bindings/driver.pyx":39869
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39869, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39870
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39871
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetEnabled(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_isEnabled); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39871, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39870
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39872
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetEnabled(cyhGraphExec, cyhNode, isEnabled)
 *     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, 39872, __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, 39872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 39872, __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, 39872, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39808
 *     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_7);
  __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":39874
 *     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_695cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_694cuGraphNodeGetEnabled, "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_695cuGraphNodeGetEnabled = {"cuGraphNodeGetEnabled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_695cuGraphNodeGetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_694cuGraphNodeGetEnabled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_695cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39874, __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, 39874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39874, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39874, __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, 39874, __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, 39874, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39874, __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, 39874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_694cuGraphNodeGetEnabled(__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_694cuGraphNodeGetEnabled(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphNodeGetEnabled", 0);

  /* "cuda/bindings/driver.pyx":39910
 *     """
 *     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":39911
 *     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":39910
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39912
 *     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":39913
 *         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, 39913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39912
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39915
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39915, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39916
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39916, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39918
 *     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":39919
 *     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":39918
 *     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":39920
 *     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":39921
 *         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, 39921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39920
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39923
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39923, __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, 39923, __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_L4:;

  /* "cuda/bindings/driver.pyx":39924
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef unsigned int isEnabled = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39924, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39925
 *         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":39926
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39927
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeGetEnabled(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, (&__pyx_v_isEnabled)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39927, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39926
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39928
 *     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":39929
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39929, __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, 39929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 39929, __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, 39929, __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, 39929, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":39928
 *     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":39930
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39930, __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, 39930, __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, 39930, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_isEnabled); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39930, __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, 39930, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 39930, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39874
 *     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_7);
  __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":39932
 *     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_697cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_696cuGraphUpload, "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_697cuGraphUpload = {"cuGraphUpload", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_697cuGraphUpload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_696cuGraphUpload};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_697cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39932, __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, 39932, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39932, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39932, __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, 39932, __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, 39932, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39932, __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, 39932, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_696cuGraphUpload(__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_696cuGraphUpload(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphUpload", 0);

  /* "cuda/bindings/driver.pyx":39959
 *     """
 *     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":39960
 *     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":39959
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39961
 *     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":39962
 *         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, 39962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":39961
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":39964
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39964, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":39965
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39965, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39967
 *     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":39968
 *     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":39967
 *     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":39969
 *     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":39970
 *         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, 39970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":39969
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":39972
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39972, __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, 39972, __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_L4:;

  /* "cuda/bindings/driver.pyx":39973
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 39973, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":39974
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":39975
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphUpload(__pyx_v_cyhGraphExec, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 39975, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":39974
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":39976
 *     with nogil:
 *         err = cydriver.cuGraphUpload(cyhGraphExec, 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, 39976, __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, 39976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 39976, __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, 39976, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39932
 *     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_7);
  __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":39978
 *     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_699cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_698cuGraphLaunch, "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_699cuGraphLaunch = {"cuGraphLaunch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_699cuGraphLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_698cuGraphLaunch};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_699cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_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, 39978, __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, 39978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 39978, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 39978, __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, 39978, __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, 39978, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 39978, __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, 39978, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_698cuGraphLaunch(__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_698cuGraphLaunch(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphLaunch", 0);

  /* "cuda/bindings/driver.pyx":40010
 *     """
 *     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":40011
 *     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":40010
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40012
 *     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":40013
 *         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, 40013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40012
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40015
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40015, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40016
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40016, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40018
 *     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":40019
 *     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":40018
 *     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":40020
 *     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":40021
 *         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, 40021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40020
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40023
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40023, __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, 40023, __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_L4:;

  /* "cuda/bindings/driver.pyx":40024
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40024, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40025
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40026
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, cyhStream)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphLaunch(__pyx_v_cyhGraphExec, __pyx_v_cyhStream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40026, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40025
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40027
 *     with nogil:
 *         err = cydriver.cuGraphLaunch(cyhGraphExec, 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, 40027, __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, 40027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40027, __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, 40027, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":39978
 *     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_7);
  __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":40029
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_701cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_700cuGraphExecDestroy, "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_701cuGraphExecDestroy = {"cuGraphExecDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_701cuGraphExecDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_700cuGraphExecDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_701cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40029, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 40029, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40029, __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, 40029, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40029, __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, 40029, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_700cuGraphExecDestroy(__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_700cuGraphExecDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecDestroy", 0);

  /* "cuda/bindings/driver.pyx":40052
 *     """
 *     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":40053
 *     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":40052
 *     """
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40054
 *     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":40055
 *         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, 40055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40054
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40057
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraphExec};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40057, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40058
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40058, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40059
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40060
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecDestroy(__pyx_v_cyhGraphExec); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40060, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40059
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40061
 *     with nogil:
 *         err = cydriver.cuGraphExecDestroy(cyhGraphExec)
 *     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, 40061, __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, 40061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40061, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40029
 *     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_7);
  __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":40063
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_703cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_702cuGraphDestroy, "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_703cuGraphDestroy = {"cuGraphDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_703cuGraphDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_702cuGraphDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_703cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40063, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 40063, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40063, __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, 40063, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40063, __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, 40063, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_702cuGraphDestroy(__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_702cuGraphDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDestroy", 0);

  /* "cuda/bindings/driver.pyx":40084
 *     """
 *     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":40085
 *     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":40084
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40086
 *     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":40087
 *         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, 40087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40086
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40089
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40089, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40090
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40090, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40091
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphDestroy(cyhGraph)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40092
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDestroy(__pyx_v_cyhGraph); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40092, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40091
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40093
 *     with nogil:
 *         err = cydriver.cuGraphDestroy(cyhGraph)
 *     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, 40093, __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, 40093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40093, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40063
 *     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_7);
  __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":40095
 *     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_705cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_704cuGraphExecUpdate, "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_705cuGraphExecUpdate = {"cuGraphExecUpdate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_705cuGraphExecUpdate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_704cuGraphExecUpdate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_705cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40095, __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, 40095, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40095, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40095, __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, 40095, __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, 40095, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40095, __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, 40095, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_704cuGraphExecUpdate(__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_704cuGraphExecUpdate(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphExecUpdate", 0);

  /* "cuda/bindings/driver.pyx":40250
 *     """
 *     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":40251
 *     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":40250
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40252
 *     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":40253
 *         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, 40253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40252
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40255
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40255, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40256
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40256, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40258
 *     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":40259
 *     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":40258
 *     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":40260
 *     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":40261
 *         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, 40261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40260
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40263
 *         phGraphExec = int(hGraphExec)
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40263, __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, 40263, __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_L4:;

  /* "cuda/bindings/driver.pyx":40264
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *     cyhGraphExec = <cydriver.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40264, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40265
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40265, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_resultInfo = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":40266
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40267
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40267, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40266
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40268
 *     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":40269
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40269, __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, 40269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 40269, __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, 40269, __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, 40269, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40268
 *     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":40270
 *     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_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_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40270, __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, 40270, __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, 40270, __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, 40270, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resultInfo);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resultInfo);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_resultInfo)) != (0)) __PYX_ERR(0, 40270, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40095
 *     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_7);
  __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":40272
 *     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_707cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_706cuGraphKernelNodeCopyAttributes, "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_707cuGraphKernelNodeCopyAttributes = {"cuGraphKernelNodeCopyAttributes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_707cuGraphKernelNodeCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_706cuGraphKernelNodeCopyAttributes};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_707cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40272, __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, 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, "cuGraphKernelNodeCopyAttributes", 0) < (0)) __PYX_ERR(0, 40272, __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, 40272, __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, 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)
    }
    __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, 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.cuGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_706cuGraphKernelNodeCopyAttributes(__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_706cuGraphKernelNodeCopyAttributes(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeCopyAttributes", 0);

  /* "cuda/bindings/driver.pyx":40297
 *     """
 *     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":40298
 *     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":40297
 *     """
 *     cdef cydriver.CUgraphNode cysrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40299
 *     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":40300
 *         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, 40300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40299
 *     if src is None:
 *         psrc = 0
 *     elif isinstance(src, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40302
 *         psrc = int(src)
 *     else:
 *         psrc = int(CUgraphNode(src))             # <<<<<<<<<<<<<<
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc
 *     cdef cydriver.CUgraphNode cydst
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_src};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40302, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40303
 *     else:
 *         psrc = int(CUgraphNode(src))
 *     cysrc = <cydriver.CUgraphNode><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNode cydst
 *     if dst is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40303, __pyx_L1_error)
  __pyx_v_cysrc = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40305
 *     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":40306
 *     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":40305
 *     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":40307
 *     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":40308
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUgraphNode(dst))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40307
 *     if dst is None:
 *         pdst = 0
 *     elif isinstance(dst, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40310
 *         pdst = int(dst)
 *     else:
 *         pdst = int(CUgraphNode(dst))             # <<<<<<<<<<<<<<
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dst};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40310, __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, 40310, __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_L4:;

  /* "cuda/bindings/driver.pyx":40311
 *     else:
 *         pdst = int(CUgraphNode(dst))
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40311, __pyx_L1_error)
  __pyx_v_cydst = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40312
 *         pdst = int(CUgraphNode(dst))
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40313
 *     cydst = <cydriver.CUgraphNode><void_ptr>pdst
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeCopyAttributes(__pyx_v_cydst, __pyx_v_cysrc); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40313, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40312
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40314
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeCopyAttributes(cydst, cysrc)
 *     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, 40314, __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, 40314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40314, __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, 40314, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40272
 *     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_7);
  __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":40316
 *     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_709cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_708cuGraphKernelNodeGetAttribute, "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_709cuGraphKernelNodeGetAttribute = {"cuGraphKernelNodeGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_709cuGraphKernelNodeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_708cuGraphKernelNodeGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_709cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40316, __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, 40316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40316, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40316, __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, 40316, __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, 40316, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40316, __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, 40316, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40317, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_708cuGraphKernelNodeGetAttribute(__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_708cuGraphKernelNodeGetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUkernelNodeAttrID __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("cuGraphKernelNodeGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":40342
 *     """
 *     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":40343
 *     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":40342
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40344
 *     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":40345
 *         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, 40345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40344
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40347
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40347, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40348
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUkernelNodeAttrID cyattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40348, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40349
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":40350
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40350, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUkernelNodeAttrValue *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40351
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40352
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40352, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40351
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40353
 *     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":40354
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40354, __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, 40354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 40354, __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, 40354, __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, 40354, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40353
 *     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":40355
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40355, __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, 40355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 40355, __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, 40355, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_value_out)) != (0)) __PYX_ERR(0, 40355, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40316
 *     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_8);
  __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":40357
 *     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_711cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_710cuGraphKernelNodeSetAttribute, "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_711cuGraphKernelNodeSetAttribute = {"cuGraphKernelNodeSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_711cuGraphKernelNodeSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_710cuGraphKernelNodeSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_711cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40357, __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, 40357, __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, 40357, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40357, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40357, __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, 40357, __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, 40357, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40357, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40357, __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, 40357, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40358, __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, 40358, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_710cuGraphKernelNodeSetAttribute(__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_710cuGraphKernelNodeSetAttribute(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUkernelNodeAttrID __pyx_t_6;
  union CUlaunchAttributeValue_union *__pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":40383
 *     """
 *     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":40384
 *     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":40383
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40385
 *     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":40386
 *         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, 40386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40385
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40388
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40388, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40389
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40389, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40390
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUlaunchAttributeID_enum)__Pyx_PyLong_As_enum__CUlaunchAttributeID_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyattr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":40391
 *     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_7 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cyvalue_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":40392
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40393
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphKernelNodeSetAttribute(__pyx_v_cyhNode, __pyx_v_cyattr, __pyx_v_cyvalue_ptr); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40393, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":40392
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40394
 *     with nogil:
 *         err = cydriver.cuGraphKernelNodeSetAttribute(cyhNode, cyattr, cyvalue_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, 40394, __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, 40394, __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, 40394, __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, 40394, __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, 40394, __pyx_L1_error);
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40357
 *     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_9);
  __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":40396
 *     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_713cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_712cuGraphDebugDotPrint, "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_713cuGraphDebugDotPrint = {"cuGraphDebugDotPrint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_713cuGraphDebugDotPrint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_712cuGraphDebugDotPrint};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_713cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40396, __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, 40396, __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, 40396, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40396, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40396, __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, 40396, __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, 40396, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40396, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40396, __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, 40397, __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, 40397, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40396, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_712cuGraphDebugDotPrint(__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_712cuGraphDebugDotPrint(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphDebugDotPrint", 0);

  /* "cuda/bindings/driver.pyx":40422
 *     """
 *     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":40423
 *     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":40422
 *     """
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40424
 *     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":40425
 *         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, 40425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40424
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40427
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40427, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40428
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40428, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40429
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40430
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphDebugDotPrint(__pyx_v_cyhGraph, __pyx_v_path, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40430, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40429
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40431
 *     with nogil:
 *         err = cydriver.cuGraphDebugDotPrint(cyhGraph, path, 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, 40431, __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, 40431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40431, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40396
 *     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_7);
  __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":40433
 *     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_715cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_714cuUserObjectCreate, "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_715cuUserObjectCreate = {"cuUserObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_715cuUserObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_714cuUserObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_715cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40433, __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, 40433, __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, 40433, __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, 40433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40433, __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, 40433, __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, 40433, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40433, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40433, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40433, __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, 40434, __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, 40434, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40433, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_714cuUserObjectCreate(__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_714cuUserObjectCreate(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":40476
 *     """
 *     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":40477
 *     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":40476
 *     """
 *     cdef cydriver.CUhostFn cydestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40478
 *     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":40479
 *         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, 40479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdestroy = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40478
 *     if destroy is None:
 *         pdestroy = 0
 *     elif isinstance(destroy, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40481
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_destroy};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40481, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdestroy = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40482
 *     else:
 *         pdestroy = int(CUhostFn(destroy))
 *     cydestroy = <cydriver.CUhostFn><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 *     cdef CUuserObject object_out = CUuserObject()
 *     cyptr = _HelperInputVoidPtr(ptr)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40482, __pyx_L1_error)
  __pyx_v_cydestroy = ((CUhostFn)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40483
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40483, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_object_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuserObject *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40484
 *     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_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ptr};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40484, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_cyptr = ((struct __pyx_obj_4cuda_8bindings_6driver__HelperInputVoidPtr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":40485
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyptr), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyptr_ptr = ((void *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40486
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40487
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40487, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40486
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40488
 *     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":40489
 *         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_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_2 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 40489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40489, __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, 40489, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40488
 *     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":40490
 *     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, 40490, __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, 40490, __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, 40490, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40490, __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, 40490, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_object_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_object_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_object_out)) != (0)) __PYX_ERR(0, 40490, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40433
 *     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_7);
  __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":40492
 *     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_717cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_716cuUserObjectRetain, "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_717cuUserObjectRetain = {"cuUserObjectRetain", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_717cuUserObjectRetain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_716cuUserObjectRetain};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_717cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_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, 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, "cuUserObjectRetain", 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("cuUserObjectRetain", 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_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, 40493, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRetain", 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.cuUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_716cuUserObjectRetain(__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_716cuUserObjectRetain(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectRetain", 0);

  /* "cuda/bindings/driver.pyx":40520
 *     """
 *     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":40521
 *     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":40520
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40522
 *     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":40523
 *         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, 40523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40522
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40525
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40525, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40526
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40526, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40527
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRetain(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40528
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRetain(__pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40528, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40527
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40529
 *     with nogil:
 *         err = cydriver.cuUserObjectRetain(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, 40529, __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, 40529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40529, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40492
 *     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_7);
  __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":40531
 *     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_719cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_718cuUserObjectRelease, "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_719cuUserObjectRelease = {"cuUserObjectRelease", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_719cuUserObjectRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_718cuUserObjectRelease};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_719cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40531, __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, 40531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40531, __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, 40531, __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, 40531, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40531, __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, 40532, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRelease", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 40531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_718cuUserObjectRelease(__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_718cuUserObjectRelease(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuUserObjectRelease", 0);

  /* "cuda/bindings/driver.pyx":40562
 *     """
 *     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":40563
 *     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":40562
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40564
 *     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":40565
 *         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, 40565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40564
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40567
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40567, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40568
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40568, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40569
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuUserObjectRelease(cyobject, count)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40570
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuUserObjectRelease(__pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40570, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40569
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40571
 *     with nogil:
 *         err = cydriver.cuUserObjectRelease(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, 40571, __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, 40571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40571, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40531
 *     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_7);
  __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":40573
 *     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_721cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_720cuGraphRetainUserObject, "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_721cuGraphRetainUserObject = {"cuGraphRetainUserObject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_721cuGraphRetainUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_720cuGraphRetainUserObject};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_721cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40573, __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, 40573, __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, 40573, __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, 40573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40573, __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, 40573, __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, 40573, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40573, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40573, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40573, __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, 40574, __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, 40574, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40573, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_720cuGraphRetainUserObject(__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_720cuGraphRetainUserObject(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphRetainUserObject", 0);

  /* "cuda/bindings/driver.pyx":40607
 *     """
 *     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":40608
 *     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":40607
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40609
 *     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":40610
 *         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, 40610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40609
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40612
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40612, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40613
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40613, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40615
 *     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":40616
 *     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":40615
 *     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":40617
 *     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":40618
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40617
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40620
 *         pgraph = int(graph)
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_graph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40620, __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, 40620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40621
 *     else:
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40621, __pyx_L1_error)
  __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40622
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40623
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphRetainUserObject(__pyx_v_cygraph, __pyx_v_cyobject, __pyx_v_count, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40623, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40622
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40624
 *     with nogil:
 *         err = cydriver.cuGraphRetainUserObject(cygraph, cyobject, count, 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, 40624, __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, 40624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40624, __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, 40624, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40573
 *     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_7);
  __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":40626
 *     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_723cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_722cuGraphReleaseUserObject, "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_723cuGraphReleaseUserObject = {"cuGraphReleaseUserObject", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_723cuGraphReleaseUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_722cuGraphReleaseUserObject};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_723cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40626, __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, 40626, __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, 40626, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40626, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40626, __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, 40626, __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, 40626, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40626, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40626, __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, 40627, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40626, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_722cuGraphReleaseUserObject(__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_722cuGraphReleaseUserObject(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphReleaseUserObject", 0);

  /* "cuda/bindings/driver.pyx":40655
 *     """
 *     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":40656
 *     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":40655
 *     """
 *     cdef cydriver.CUuserObject cyobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40657
 *     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":40658
 *         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, 40658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40657
 *     if object is None:
 *         pobject = 0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40660
 *         pobject = int(object)
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject
 *     cdef cydriver.CUgraph cygraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_object};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40660, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40661
 *     else:
 *         pobject = int(CUuserObject(object))
 *     cyobject = <cydriver.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cygraph
 *     if graph is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40661, __pyx_L1_error)
  __pyx_v_cyobject = ((CUuserObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40663
 *     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":40664
 *     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":40663
 *     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":40665
 *     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":40666
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40665
 *     if graph is None:
 *         pgraph = 0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40668
 *         pgraph = int(graph)
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_graph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40668, __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, 40668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40669
 *     else:
 *         pgraph = int(CUgraph(graph))
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40669, __pyx_L1_error)
  __pyx_v_cygraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40670
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40671
 *     cygraph = <cydriver.CUgraph><void_ptr>pgraph
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphReleaseUserObject(__pyx_v_cygraph, __pyx_v_cyobject, __pyx_v_count); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40671, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40670
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40672
 *     with nogil:
 *         err = cydriver.cuGraphReleaseUserObject(cygraph, cyobject, count)
 *     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, 40672, __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, 40672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 40672, __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, 40672, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40626
 *     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_7);
  __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":40674
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(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.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_725cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_724cuGraphAddNode, "cuGraphAddNode(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.\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:`~.cuGraphExecNodeSetParams`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_725cuGraphAddNode = {"cuGraphAddNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_725cuGraphAddNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_724cuGraphAddNode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_725cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_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 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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, 40674, __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, 40674, __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, 40674, __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, 40674, __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, 40674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40674, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40674, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 5, 5, i); __PYX_ERR(0, 40674, __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, 40674, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40674, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40674, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40674, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 40674, __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, 40675, __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", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 40674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40675, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_724cuGraphAddNode(__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_14cuGraphAddNode_2generator180(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":40723
 *     """
 *     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_14cuGraphAddNode_genexpr(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, 40723, __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_2generator180, ((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_cuGraphAddNode_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 40723, __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_2generator180(__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, 40723, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 40723, __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, 40723, __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, 40723, __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, 40723, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 40723, __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, 40723, __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, 40723, __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_14cuGraphAddNode_5generator181(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":40726
 *         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_14cuGraphAddNode_3genexpr(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, 40726, __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_5generator181, ((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_cuGraphAddNode_locals_genexpr, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 40726, __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_5generator181(__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, 40726, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 40726, __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, 40726, __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, 40726, __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, 40726, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 40726, __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, 40726, __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, 40726, __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":40674
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(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.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_724cuGraphAddNode(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_14cuGraphAddNode_2generator180 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_5generator181 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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 CUgraphEdgeData_st *__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);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/bindings/driver.pyx":40722
 *     :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, 40722, __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":40723
 *     """
 *     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_14cuGraphAddNode_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40723, __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, 40723, __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, 40723, __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":40724
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40724, __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, 40724, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":40723
 *     """
 *     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":40725
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":40726
 *         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_14cuGraphAddNode_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 40726, __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":40727
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40727, __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, 40727, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":40726
 *         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":40729
 *         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":40730
 *     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":40729
 *         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":40731
 *     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":40732
 *         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, 40732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":40731
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":40734
 *         phGraph = int(hGraph)
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hGraph};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40734, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":40735
 *     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, 40735, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":40736
 *         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_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40736, __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":40737
 *     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":40738
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40738, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40739
 *     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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40739, __pyx_L1_error)
    __pyx_v_cydependencies = ((CUgraphNode *)calloc(__pyx_t_7, (sizeof(CUgraphNode))));

    /* "cuda/bindings/driver.pyx":40740
 *     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":40741
 *         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_t_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40741, __pyx_L1_error)
      __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40741, __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, 40741, __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, 40741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40741, __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(CUgraphNode))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40741, __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, 40741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40741, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__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, 40741, __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, 40741, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":40740
 *     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":40743
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40743, __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":40744
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40744, __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":40738
 *     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":40745
 *             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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40745, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40746
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40746, __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":40745
 *             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":40747
 *     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":40748
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40748, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40749
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40749, __pyx_L1_error)
    __pyx_v_cydependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_7, (sizeof(CUgraphEdgeData))));

    /* "cuda/bindings/driver.pyx":40750
 *     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":40751
 *         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_8 = NULL;
      __pyx_t_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40751, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40751, __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, 40751, __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_Failed_to_allocate_length_x_size, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40751, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40751, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __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, 40751, __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, 40751, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40751, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40751, __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, 40751, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":40750
 *     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":40752
 *         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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40752, __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":40753
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40753, __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":40748
 *         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":40754
 *         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
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  __pyx_t_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40754, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":40755
 *             string.memcpy(&cydependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._pvt_ptr, sizeof(cydriver.CUgraphEdgeData))
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
 *     with nogil:
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = ((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_13;

    /* "cuda/bindings/driver.pyx":40754
 *         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
 *     cdef cydriver.CUgraphNodeParams* cynodeParams_ptr = nodeParams._pvt_ptr if nodeParams is not None else NULL
*/
  }
  __pyx_L10:;

  /* "cuda/bindings/driver.pyx":40756
 *     elif len(dependencyData) == 1:
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     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, cydependencyData, numDependencies, cynodeParams_ptr)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_nodeParams) != Py_None);
  if (__pyx_t_2) {
    __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":40757
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     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, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40758
 *     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, cydependencyData, 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_cydependencyData, __pyx_v_numDependencies, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_15 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40758, __pyx_L15_error)
        __pyx_v_err = __pyx_t_15;
      }

      /* "cuda/bindings/driver.pyx":40757
 *         cydependencyData = (<CUgraphEdgeData>dependencyData[0])._pvt_ptr
 *     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, cydependencyData, numDependencies, cynodeParams_ptr)
 *     if len(dependencies) > 1 and cydependencies is not NULL:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L16;
        }
        __pyx_L15_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L16:;
      }
  }

  /* "cuda/bindings/driver.pyx":40759
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<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_7 = PyObject_Length(__pyx_v_dependencies); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40759, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":40760
 *         err = cydriver.cuGraphAddNode(<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":40759
 *     with nogil:
 *         err = cydriver.cuGraphAddNode(<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":40761
 *     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_7 = PyObject_Length(__pyx_v_dependencyData); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 40761, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 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":40762
 *         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":40761
 *     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":40763
 *     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":40764
 *         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, 40764, __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, 40764, __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, 40764, __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, 40764, __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, 40764, __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, 40764, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40763
 *     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":40765
 *     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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40765, __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, 40765, __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, 40765, __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, 40765, __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, 40765, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phGraphNode)) != (0)) __PYX_ERR(0, 40765, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40674
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(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.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_2generator180);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_14cuGraphAddNode_5generator181);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":40767
 *     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_727cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_726cuGraphNodeSetParams, "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_727cuGraphNodeSetParams = {"cuGraphNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_727cuGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_726cuGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_727cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40767, __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, 40767, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40767, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40767, __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, 40767, __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, 40767, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40767, __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, 40767, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40768, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_726cuGraphNodeSetParams(__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_726cuGraphNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUgraphNodeParams_st *__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("cuGraphNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":40796
 *     """
 *     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":40797
 *     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":40796
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40798
 *     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":40799
 *         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, 40799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40798
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40801
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40801, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40802
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40802, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40803
 *         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_6 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":40804
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40805
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphNodeSetParams(__pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40805, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40804
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40806
 *     with nogil:
 *         err = cydriver.cuGraphNodeSetParams(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, 40806, __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, 40806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 40806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 40806, __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, 40806, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40767
 *     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_8);
  __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":40808
 *     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_729cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_728cuGraphExecNodeSetParams, "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_729cuGraphExecNodeSetParams = {"cuGraphExecNodeSetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_729cuGraphExecNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_728cuGraphExecNodeSetParams};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_729cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40808, __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, 40808, __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, 40808, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40808, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40808, __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, 40808, __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, 40808, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40808, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40808, __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, 40808, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 40809, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_728cuGraphExecNodeSetParams(__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_728cuGraphExecNodeSetParams(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUgraphNodeParams_st *__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("cuGraphExecNodeSetParams", 0);

  /* "cuda/bindings/driver.pyx":40845
 *     """
 *     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":40846
 *     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":40845
 *     """
 *     cdef cydriver.CUgraphNode cyhNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40847
 *     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":40848
 *         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, 40848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40847
 *     if hNode is None:
 *         phNode = 0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40850
 *         phNode = int(hNode)
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode
 *     cdef cydriver.CUgraphExec cyhGraphExec
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hNode};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40850, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40851
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *     cyhNode = <cydriver.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphExec cyhGraphExec
 *     if hGraphExec is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40851, __pyx_L1_error)
  __pyx_v_cyhNode = ((CUgraphNode)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40853
 *     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":40854
 *     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":40853
 *     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":40855
 *     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":40856
 *         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, 40856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraphExec = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40855
 *     if hGraphExec is None:
 *         phGraphExec = 0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40858
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraphExec};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40858, __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, 40858, __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_L4:;

  /* "cuda/bindings/driver.pyx":40859
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40859, __pyx_L1_error)
  __pyx_v_cyhGraphExec = ((CUgraphExec)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40860
 *         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_6 = __pyx_v_nodeParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cynodeParams_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":40861
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40862
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphExecNodeSetParams(__pyx_v_cyhGraphExec, __pyx_v_cyhNode, __pyx_v_cynodeParams_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40862, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":40861
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40863
 *     with nogil:
 *         err = cydriver.cuGraphExecNodeSetParams(cyhGraphExec, cyhNode, cynodeParams_ptr)
 *     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, 40863, __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, 40863, __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, 40863, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40863, __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, 40863, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40808
 *     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_8);
  __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":40865
 *     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_731cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_730cuGraphConditionalHandleCreate, "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_731cuGraphConditionalHandleCreate = {"cuGraphConditionalHandleCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_731cuGraphConditionalHandleCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_730cuGraphConditionalHandleCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_731cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40865, __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, 40865, __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, 40865, __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, 40865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40865, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40865, __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, 40865, __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, 40865, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40865, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40865, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40865, __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, 40866, __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, 40866, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_730cuGraphConditionalHandleCreate(__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_730cuGraphConditionalHandleCreate(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphConditionalHandleCreate", 0);

  /* "cuda/bindings/driver.pyx":40905
 *     """
 *     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":40906
 *     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":40905
 *     """
 *     cdef cydriver.CUcontext cyctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40907
 *     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":40908
 *         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, 40908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40907
 *     if ctx is None:
 *         pctx = 0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40910
 *         pctx = int(ctx)
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx
 *     cdef cydriver.CUgraph cyhGraph
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ctx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40910, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40911
 *     else:
 *         pctx = int(CUcontext(ctx))
 *     cyctx = <cydriver.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraph cyhGraph
 *     if hGraph is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40911, __pyx_L1_error)
  __pyx_v_cyctx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40913
 *     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":40914
 *     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":40913
 *     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":40915
 *     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":40916
 *         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, 40916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":40915
 *     if hGraph is None:
 *         phGraph = 0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":40918
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hGraph};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40918, __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, 40918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":40919
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *     cyhGraph = <cydriver.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40919, __pyx_L1_error)
  __pyx_v_cyhGraph = ((CUgraph)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40920
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40920, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_pHandle_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphConditionalHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":40921
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40922
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40922, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40921
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":40923
 *     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":40924
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40924, __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, 40924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 40924, __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, 40924, __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, 40924, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40923
 *     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":40925
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40925, __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, 40925, __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, 40925, __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, 40925, __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, 40925, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pHandle_out)) != (0)) __PYX_ERR(0, 40925, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40865
 *     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_7);
  __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":40927
 *     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_733cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_732cuOccupancyMaxActiveBlocksPerMultiprocessor, "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_733cuOccupancyMaxActiveBlocksPerMultiprocessor = {"cuOccupancyMaxActiveBlocksPerMultiprocessor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_733cuOccupancyMaxActiveBlocksPerMultiprocessor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_732cuOccupancyMaxActiveBlocksPerMultiprocessor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_733cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40927, __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, 40927, __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, 40927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40927, __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, 40927, __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, 40927, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40927, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40927, __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, 40928, __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, 40928, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40927, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_732cuOccupancyMaxActiveBlocksPerMultiprocessor(__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_732cuOccupancyMaxActiveBlocksPerMultiprocessor(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessor", 0);

  /* "cuda/bindings/driver.pyx":40961
 *     """
 *     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":40962
 *     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":40961
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40963
 *     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":40964
 *         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, 40964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":40963
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":40966
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40966, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":40967
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 40967, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":40968
 *         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":40969
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":40970
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveBlocksPerMultiprocessor((&__pyx_v_numBlocks), __pyx_v_cyfunc, __pyx_v_blockSize, __pyx_v_dynamicSMemSize); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 40970, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":40969
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":40971
 *     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":40972
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40972, __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, 40972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 40972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 40972, __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, 40972, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":40971
 *     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":40973
 *     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, 40973, __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, 40973, __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, 40973, __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 = __Pyx_PyLong_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40973, __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, 40973, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 40973, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40927
 *     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_7);
  __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":40975
 *     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_735cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_734cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "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_735cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = {"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_735cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_734cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_735cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 40975, __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, 40975, __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, 40975, __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, 40975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 40975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 40975, __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, 40975, __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, 40975, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 40975, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 40975, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 40975, __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, 40976, __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, 40976, __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, 40976, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 40975, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_734cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(__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_734cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 0);

  /* "cuda/bindings/driver.pyx":41027
 *     """
 *     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":41028
 *     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":41027
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41029
 *     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":41030
 *         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, 41030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41029
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41032
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41032, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41033
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41033, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41034
 *         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":41035
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41036
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41036, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41035
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41037
 *     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":41038
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41038, __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, 41038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 41038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41038, __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, 41038, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41037
 *     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":41039
 *     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, 41039, __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, 41039, __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, 41039, __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 = __Pyx_PyLong_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41039, __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, 41039, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 41039, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":40975
 *     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_7);
  __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":41041
 *     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_737cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_736cuOccupancyMaxPotentialBlockSize, "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_737cuOccupancyMaxPotentialBlockSize = {"cuOccupancyMaxPotentialBlockSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_737cuOccupancyMaxPotentialBlockSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_736cuOccupancyMaxPotentialBlockSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_737cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41041, __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, 41041, __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, 41041, __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, 41041, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41041, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41041, __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, 41041, __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, 41041, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41041, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41041, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 41041, __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, 41042, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41042, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 41041, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_736cuOccupancyMaxPotentialBlockSize(__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_736cuOccupancyMaxPotentialBlockSize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuOccupancyMaxPotentialBlockSize", 0);

  /* "cuda/bindings/driver.pyx":41102
 *     """
 *     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":41103
 *     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":41102
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41104
 *     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":41105
 *         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, 41105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41104
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41107
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_blockSizeToDynamicSMemSize};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41107, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41108
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41108, __pyx_L1_error)
  __pyx_v_cyblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41110
 *     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":41111
 *     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":41110
 *     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":41112
 *     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":41113
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41112
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41115
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_func};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41115, __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, 41115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41116
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41116, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41117
 *         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":41118
 *     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":41119
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41120
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41120, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41119
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41121
 *     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":41122
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41122, __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, 41122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 41122, __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, 41122, __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, 41122, __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, 41122, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41121
 *     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":41123
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41123, __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, 41123, __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, 41123, __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 = __Pyx_PyLong_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41123, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 41123, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_3) != (0)) __PYX_ERR(0, 41123, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41041
 *     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_7);
  __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":41125
 *     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_739cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialBlockSizeWithFlags, "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_739cuOccupancyMaxPotentialBlockSizeWithFlags = {"cuOccupancyMaxPotentialBlockSizeWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialBlockSizeWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_738cuOccupancyMaxPotentialBlockSizeWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_739cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41125, __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, 41125, __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, 41125, __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, 41125, __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, 41125, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41125, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41125, __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, 41125, __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, 41125, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41125, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41125, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 41125, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 41125, __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, 41126, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41126, __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, 41126, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 41125, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_738cuOccupancyMaxPotentialBlockSizeWithFlags(__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_738cuOccupancyMaxPotentialBlockSizeWithFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuOccupancyMaxPotentialBlockSizeWithFlags", 0);

  /* "cuda/bindings/driver.pyx":41185
 *     """
 *     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":41186
 *     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":41185
 *     """
 *     cdef cydriver.CUoccupancyB2DSize cyblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41187
 *     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":41188
 *         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, 41188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41187
 *     if blockSizeToDynamicSMemSize is None:
 *         pblockSizeToDynamicSMemSize = 0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41190
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef cydriver.CUfunction cyfunc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_blockSizeToDynamicSMemSize};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41190, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41191
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *     cyblockSizeToDynamicSMemSize = <cydriver.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41191, __pyx_L1_error)
  __pyx_v_cyblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41193
 *     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":41194
 *     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":41193
 *     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":41195
 *     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":41196
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41195
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41198
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_func};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41198, __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, 41198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41199
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41199, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41200
 *         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":41201
 *     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":41202
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41203
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41203, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41202
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41204
 *     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":41205
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41205, __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, 41205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 41205, __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, 41205, __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, 41205, __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, 41205, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41204
 *     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":41206
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41206, __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, 41206, __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, 41206, __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 = __Pyx_PyLong_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 41206, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 41206, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_3) != (0)) __PYX_ERR(0, 41206, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41125
 *     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_7);
  __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":41208
 *     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_741cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_740cuOccupancyAvailableDynamicSMemPerBlock, "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_741cuOccupancyAvailableDynamicSMemPerBlock = {"cuOccupancyAvailableDynamicSMemPerBlock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_741cuOccupancyAvailableDynamicSMemPerBlock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_740cuOccupancyAvailableDynamicSMemPerBlock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_741cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41208, __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, 41208, __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, 41208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41208, __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, 41208, __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, 41208, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41208, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41208, __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, 41209, __pyx_L3_error)
    __pyx_v_blockSize = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 41209, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41208, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_740cuOccupancyAvailableDynamicSMemPerBlock(__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_740cuOccupancyAvailableDynamicSMemPerBlock(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuOccupancyAvailableDynamicSMemPerBlock", 0);

  /* "cuda/bindings/driver.pyx":41238
 *     """
 *     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":41239
 *     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":41238
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41240
 *     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":41241
 *         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, 41241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41240
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41243
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41243, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41244
 *     else:
 *         pfunc = int(CUfunction(func))
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t dynamicSmemSize = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41244, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41245
 *         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":41246
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41247
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyAvailableDynamicSMemPerBlock((&__pyx_v_dynamicSmemSize), __pyx_v_cyfunc, __pyx_v_numBlocks, __pyx_v_blockSize); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41247, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41246
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41248
 *     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":41249
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41249, __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, 41249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 41249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41249, __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, 41249, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41248
 *     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":41250
 *     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, 41250, __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, 41250, __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, 41250, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_dynamicSmemSize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41250, __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, 41250, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 41250, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41208
 *     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_7);
  __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":41252
 *     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_743cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_742cuOccupancyMaxPotentialClusterSize, "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_743cuOccupancyMaxPotentialClusterSize = {"cuOccupancyMaxPotentialClusterSize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_743cuOccupancyMaxPotentialClusterSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_742cuOccupancyMaxPotentialClusterSize};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_743cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41252, __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, 41252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41252, __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, 41252, __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, 41252, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41252, __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, 41252, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41253, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_742cuOccupancyMaxPotentialClusterSize(__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_742cuOccupancyMaxPotentialClusterSize(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUlaunchConfig_st *__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("cuOccupancyMaxPotentialClusterSize", 0);

  /* "cuda/bindings/driver.pyx":41294
 *     """
 *     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":41295
 *     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":41294
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41296
 *     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":41297
 *         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, 41297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41296
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41299
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41299, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41300
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41300, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41301
 *         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":41302
 *     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_6 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41303
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41304
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxPotentialClusterSize((&__pyx_v_clusterSize), __pyx_v_cyfunc, __pyx_v_cyconfig_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41304, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41303
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41305
 *     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":41306
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41306, __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, 41306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 41306, __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, 41306, __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, 41306, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41305
 *     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":41307
 *     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, 41307, __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, 41307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_clusterSize); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41307, __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, 41307, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 41307, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41252
 *     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_8);
  __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":41309
 *     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_745cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_744cuOccupancyMaxActiveClusters, "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_745cuOccupancyMaxActiveClusters = {"cuOccupancyMaxActiveClusters", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_745cuOccupancyMaxActiveClusters, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_744cuOccupancyMaxActiveClusters};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_745cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41309, __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, 41309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41309, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41309, __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, 41309, __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, 41309, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41309, __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, 41309, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41310, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_744cuOccupancyMaxActiveClusters(__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_744cuOccupancyMaxActiveClusters(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUlaunchConfig_st *__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("cuOccupancyMaxActiveClusters", 0);

  /* "cuda/bindings/driver.pyx":41351
 *     """
 *     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":41352
 *     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":41351
 *     """
 *     cdef cydriver.CUfunction cyfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41353
 *     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":41354
 *         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, 41354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41353
 *     if func is None:
 *         pfunc = 0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41356
 *         pfunc = int(func)
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *     cyfunc = <cydriver.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_func};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41356, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41357
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41357, __pyx_L1_error)
  __pyx_v_cyfunc = ((CUfunction)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41358
 *         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":41359
 *     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_6 = __pyx_v_config->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cyconfig_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41360
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41361
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuOccupancyMaxActiveClusters((&__pyx_v_numClusters), __pyx_v_cyfunc, __pyx_v_cyconfig_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41361, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41360
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41362
 *     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":41363
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41363, __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, 41363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 41363, __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, 41363, __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, 41363, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41362
 *     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":41364
 *     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, 41364, __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, 41364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_numClusters); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41364, __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, 41364, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 41364, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41309
 *     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_8);
  __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":41366
 *     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_747cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_746cuTexRefSetArray, "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_747cuTexRefSetArray = {"cuTexRefSetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_747cuTexRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_746cuTexRefSetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_747cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41366, __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, 41366, __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, 41366, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41366, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41366, __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, 41366, __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, 41366, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41366, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41366, __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, 41367, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41366, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_746cuTexRefSetArray(__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_746cuTexRefSetArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetArray", 0);

  /* "cuda/bindings/driver.pyx":41397
 *     """
 *     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":41398
 *     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":41397
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41399
 *     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":41400
 *         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, 41400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41399
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41402
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41402, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41403
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41403, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41405
 *     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":41406
 *     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":41405
 *     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":41407
 *     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":41408
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41407
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41410
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41410, __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, 41410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41411
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41411, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41412
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41413
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetArray(__pyx_v_cyhTexRef, __pyx_v_cyhArray, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41413, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41412
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41414
 *     with nogil:
 *         err = cydriver.cuTexRefSetArray(cyhTexRef, cyhArray, 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, 41414, __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, 41414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41414, __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, 41414, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41366
 *     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_7);
  __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":41416
 *     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_749cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_748cuTexRefSetMipmappedArray, "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_749cuTexRefSetMipmappedArray = {"cuTexRefSetMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_749cuTexRefSetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_748cuTexRefSetMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_749cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41416, __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, 41416, __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, 41416, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41416, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41416, __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, 41416, __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, 41416, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41416, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41416, __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, 41417, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41416, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_748cuTexRefSetMipmappedArray(__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_748cuTexRefSetMipmappedArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":41447
 *     """
 *     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":41448
 *     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":41447
 *     """
 *     cdef cydriver.CUmipmappedArray cyhMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41449
 *     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":41450
 *         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, 41450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41449
 *     if hMipmappedArray is None:
 *         phMipmappedArray = 0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41452
 *         phMipmappedArray = int(hMipmappedArray)
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hMipmappedArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41452, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41453
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *     cyhMipmappedArray = <cydriver.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41453, __pyx_L1_error)
  __pyx_v_cyhMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41455
 *     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":41456
 *     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":41455
 *     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":41457
 *     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":41458
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41457
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41460
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41460, __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, 41460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41461
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41461, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41462
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41463
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmappedArray(__pyx_v_cyhTexRef, __pyx_v_cyhMipmappedArray, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41463, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41462
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41464
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmappedArray(cyhTexRef, cyhMipmappedArray, 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, 41464, __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, 41464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41464, __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, 41464, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41416
 *     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_7);
  __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":41466
 *     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_751cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_750cuTexRefSetAddress, "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_751cuTexRefSetAddress = {"cuTexRefSetAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_751cuTexRefSetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_750cuTexRefSetAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_751cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41466, __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, 41466, __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, 41466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41466, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41466, __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, 41466, __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, 41466, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41466, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41466, __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, 41467, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41466, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_750cuTexRefSetAddress(__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_750cuTexRefSetAddress(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetAddress", 0);

  /* "cuda/bindings/driver.pyx":41516
 *     """
 *     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":41517
 *     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":41516
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41518
 *     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":41519
 *         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, 41519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41518
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41521
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41521, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41522
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41522, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41524
 *     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":41525
 *     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":41524
 *     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":41526
 *     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":41527
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41526
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41529
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41529, __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, 41529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41530
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef size_t ByteOffset = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41530, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41531
 *         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":41532
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41533
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress((&__pyx_v_ByteOffset), __pyx_v_cyhTexRef, __pyx_v_cydptr, __pyx_v_numbytes); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41533, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41532
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41534
 *     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":41535
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41535, __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, 41535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 41535, __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, 41535, __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, 41535, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":41534
 *     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":41536
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41536, __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, 41536, __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, 41536, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_ByteOffset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41536, __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, 41536, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 41536, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41466
 *     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_7);
  __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":41538
 *     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_753cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_752cuTexRefSetAddress2D, "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_753cuTexRefSetAddress2D = {"cuTexRefSetAddress2D", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_753cuTexRefSetAddress2D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_752cuTexRefSetAddress2D};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_753cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41538, __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, 41538, __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, 41538, __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, 41538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41538, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41538, __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, 41538, __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, 41538, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41538, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41538, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 41538, __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, 41539, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 41538, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41539, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_752cuTexRefSetAddress2D(__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_752cuTexRefSetAddress2D(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  struct CUDA_ARRAY_DESCRIPTOR_st *__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("cuTexRefSetAddress2D", 0);

  /* "cuda/bindings/driver.pyx":41596
 *     """
 *     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":41597
 *     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":41596
 *     """
 *     cdef cydriver.CUdeviceptr cydptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41598
 *     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":41599
 *         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, 41599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41598
 *     if dptr is None:
 *         pdptr = 0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41601
 *         pdptr = int(dptr)
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr
 *     cdef cydriver.CUtexref cyhTexRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dptr};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41601, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41602
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *     cydptr = <cydriver.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41602, __pyx_L1_error)
  __pyx_v_cydptr = ((CUdeviceptr)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41604
 *     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":41605
 *     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":41604
 *     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":41606
 *     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":41607
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":41606
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":41609
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hTexRef};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41609, __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, 41609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":41610
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41610, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41611
 *         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_6 = __pyx_v_desc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cydesc_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41612
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41613
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddress2D(__pyx_v_cyhTexRef, __pyx_v_cydesc_ptr, __pyx_v_cydptr, __pyx_v_Pitch); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41613, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41612
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":41614
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41614, __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, 41614, __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, 41614, __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(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41614, __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, 41614, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41538
 *     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_8);
  __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":41616
 *     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_755cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_754cuTexRefSetFormat, "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_755cuTexRefSetFormat = {"cuTexRefSetFormat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_755cuTexRefSetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_754cuTexRefSetFormat};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_755cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41616, __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, 41616, __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, 41616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41616, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41616, __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, 41616, __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, 41616, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41616, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41616, __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, 41617, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41617, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_754cuTexRefSetFormat(__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_754cuTexRefSetFormat(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUarray_format __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("cuTexRefSetFormat", 0);

  /* "cuda/bindings/driver.pyx":41647
 *     """
 *     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":41648
 *     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":41647
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41649
 *     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":41650
 *         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, 41650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41649
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41652
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41652, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41653
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41653, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41654
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fmt, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUarray_format_enum)__Pyx_PyLong_As_enum__CUarray_format_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyfmt = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41655
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41656
 *     cdef cydriver.CUarray_format cyfmt = fmt.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFormat(__pyx_v_cyhTexRef, __pyx_v_cyfmt, __pyx_v_NumPackedComponents); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41656, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41655
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41657
 *     with nogil:
 *         err = cydriver.cuTexRefSetFormat(cyhTexRef, cyfmt, NumPackedComponents)
 *     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, 41657, __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, 41657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 41657, __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, 41657, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41616
 *     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_8);
  __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":41659
 *     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_757cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_756cuTexRefSetAddressMode, "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_757cuTexRefSetAddressMode = {"cuTexRefSetAddressMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_757cuTexRefSetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_756cuTexRefSetAddressMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_757cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41659, __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, 41659, __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, 41659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41659, __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, 41659, __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, 41659, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41659, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41659, __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, 41660, __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, 41659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41660, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_756cuTexRefSetAddressMode(__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_756cuTexRefSetAddressMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUaddress_mode __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("cuTexRefSetAddressMode", 0);

  /* "cuda/bindings/driver.pyx":41697
 *     """
 *     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":41698
 *     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":41697
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41699
 *     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":41700
 *         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, 41700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41699
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41702
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41702, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41703
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41703, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41704
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_am, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUaddress_mode_enum)__Pyx_PyLong_As_enum__CUaddress_mode_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyam = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41705
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41706
 *     cdef cydriver.CUaddress_mode cyam = am.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetAddressMode(__pyx_v_cyhTexRef, __pyx_v_dim, __pyx_v_cyam); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41706, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41705
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41707
 *     with nogil:
 *         err = cydriver.cuTexRefSetAddressMode(cyhTexRef, dim, cyam)
 *     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, 41707, __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, 41707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 41707, __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, 41707, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41659
 *     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_8);
  __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":41709
 *     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_759cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_758cuTexRefSetFilterMode, "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_759cuTexRefSetFilterMode = {"cuTexRefSetFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_759cuTexRefSetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_758cuTexRefSetFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_759cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41709, __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, 41709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41709, __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, 41709, __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, 41709, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41709, __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, 41709, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41710, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_758cuTexRefSetFilterMode(__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_758cuTexRefSetFilterMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUfilter_mode __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("cuTexRefSetFilterMode", 0);

  /* "cuda/bindings/driver.pyx":41741
 *     """
 *     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":41742
 *     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":41741
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41743
 *     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":41744
 *         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, 41744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41743
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41746
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41746, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41747
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41747, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41748
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyfm = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41749
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41750
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFilterMode(__pyx_v_cyhTexRef, __pyx_v_cyfm); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41750, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41749
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41751
 *     with nogil:
 *         err = cydriver.cuTexRefSetFilterMode(cyhTexRef, cyfm)
 *     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, 41751, __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, 41751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 41751, __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, 41751, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41709
 *     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_8);
  __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":41753
 *     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_761cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_760cuTexRefSetMipmapFilterMode, "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_761cuTexRefSetMipmapFilterMode = {"cuTexRefSetMipmapFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_761cuTexRefSetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_760cuTexRefSetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_761cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41753, __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, 41753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41753, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41753, __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, 41753, __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, 41753, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41753, __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, 41753, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 41754, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_760cuTexRefSetMipmapFilterMode(__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_760cuTexRefSetMipmapFilterMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUfilter_mode __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("cuTexRefSetMipmapFilterMode", 0);

  /* "cuda/bindings/driver.pyx":41785
 *     """
 *     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":41786
 *     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":41785
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41787
 *     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":41788
 *         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, 41788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41787
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41790
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41790, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41791
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41791, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41792
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUfilter_mode_enum)__Pyx_PyLong_As_enum__CUfilter_mode_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyfm = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":41793
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41794
 *     cdef cydriver.CUfilter_mode cyfm = fm.value
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapFilterMode(__pyx_v_cyhTexRef, __pyx_v_cyfm); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41794, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":41793
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41795
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapFilterMode(cyhTexRef, cyfm)
 *     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, 41795, __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, 41795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 41795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 41795, __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, 41795, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41753
 *     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_8);
  __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":41797
 *     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_763cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_762cuTexRefSetMipmapLevelBias, "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_763cuTexRefSetMipmapLevelBias = {"cuTexRefSetMipmapLevelBias", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_763cuTexRefSetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_762cuTexRefSetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_763cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41797, __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, 41797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41797, __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, 41797, __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, 41797, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41797, __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, 41798, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelBias", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41797, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_762cuTexRefSetMipmapLevelBias(__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_762cuTexRefSetMipmapLevelBias(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelBias", 0);

  /* "cuda/bindings/driver.pyx":41827
 *     """
 *     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":41828
 *     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":41827
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41829
 *     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":41830
 *         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, 41830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41829
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41832
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41832, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41833
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41833, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41834
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41835
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelBias(__pyx_v_cyhTexRef, __pyx_v_bias); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41835, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41834
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41836
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelBias(cyhTexRef, bias)
 *     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, 41836, __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, 41836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41836, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41797
 *     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_7);
  __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":41838
 *     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_765cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_764cuTexRefSetMipmapLevelClamp, "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_765cuTexRefSetMipmapLevelClamp = {"cuTexRefSetMipmapLevelClamp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_765cuTexRefSetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_764cuTexRefSetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_765cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41838, __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, 41838, __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, 41838, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41838, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41838, __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, 41838, __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, 41838, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41838, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 41838, __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, 41839, __pyx_L3_error)
    __pyx_v_maxMipmapLevelClamp = __Pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 41839, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41838, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_764cuTexRefSetMipmapLevelClamp(__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_764cuTexRefSetMipmapLevelClamp(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelClamp", 0);

  /* "cuda/bindings/driver.pyx":41870
 *     """
 *     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":41871
 *     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":41870
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41872
 *     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":41873
 *         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, 41873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41872
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41875
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41875, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41876
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41876, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41877
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41878
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMipmapLevelClamp(__pyx_v_cyhTexRef, __pyx_v_minMipmapLevelClamp, __pyx_v_maxMipmapLevelClamp); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41878, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41877
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41879
 *     with nogil:
 *         err = cydriver.cuTexRefSetMipmapLevelClamp(cyhTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     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, 41879, __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, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41879, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41838
 *     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_7);
  __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":41881
 *     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_767cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_766cuTexRefSetMaxAnisotropy, "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_767cuTexRefSetMaxAnisotropy = {"cuTexRefSetMaxAnisotropy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_767cuTexRefSetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_766cuTexRefSetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_767cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41881, __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, 41881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41881, __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, 41881, __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, 41881, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41881, __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, 41882, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMaxAnisotropy", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_766cuTexRefSetMaxAnisotropy(__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_766cuTexRefSetMaxAnisotropy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetMaxAnisotropy", 0);

  /* "cuda/bindings/driver.pyx":41910
 *     """
 *     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":41911
 *     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":41910
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41912
 *     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":41913
 *         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, 41913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41912
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41915
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41915, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41916
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41916, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41917
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41918
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetMaxAnisotropy(__pyx_v_cyhTexRef, __pyx_v_maxAniso); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41918, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41917
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41919
 *     with nogil:
 *         err = cydriver.cuTexRefSetMaxAnisotropy(cyhTexRef, maxAniso)
 *     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, 41919, __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, 41919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41919, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41881
 *     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_7);
  __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":41921
 *     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_769cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_768cuTexRefSetBorderColor, "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_769cuTexRefSetBorderColor = {"cuTexRefSetBorderColor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_769cuTexRefSetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_768cuTexRefSetBorderColor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_769cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41921, __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, 41921, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41921, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41921, __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, 41921, __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, 41921, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41921, __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, 41922, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetBorderColor", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41921, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_768cuTexRefSetBorderColor(__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_768cuTexRefSetBorderColor(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetBorderColor", 0);

  /* "cuda/bindings/driver.pyx":41955
 *     """
 *     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":41956
 *     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":41955
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41957
 *     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":41958
 *         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, 41958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":41957
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":41960
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41960, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":41961
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 41961, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":41962
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":41963
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetBorderColor(__pyx_v_cyhTexRef, (&__pyx_v_pBorderColor)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 41963, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":41962
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":41964
 *     with nogil:
 *         err = cydriver.cuTexRefSetBorderColor(cyhTexRef, &pBorderColor)
 *     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, 41964, __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, 41964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 41964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 41964, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41921
 *     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_7);
  __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":41966
 *     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_771cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_770cuTexRefSetFlags, "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_771cuTexRefSetFlags = {"cuTexRefSetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_771cuTexRefSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_770cuTexRefSetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_771cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 41966, __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, 41966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 41966, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 41966, __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, 41966, __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, 41966, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 41966, __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, 41967, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 41966, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_770cuTexRefSetFlags(__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_770cuTexRefSetFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefSetFlags", 0);

  /* "cuda/bindings/driver.pyx":42010
 *     """
 *     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":42011
 *     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":42010
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42012
 *     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":42013
 *         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, 42013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42012
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42015
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42015, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42016
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42016, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42017
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42018
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefSetFlags(__pyx_v_cyhTexRef, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42018, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42017
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42019
 *     with nogil:
 *         err = cydriver.cuTexRefSetFlags(cyhTexRef, 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, 42019, __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, 42019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 42019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42019, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":41966
 *     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_7);
  __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":42021
 *     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_773cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_772cuTexRefGetAddress, "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_773cuTexRefGetAddress = {"cuTexRefGetAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_773cuTexRefGetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_772cuTexRefGetAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_773cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42021, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42021, __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, 42021, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42021, __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, 42021, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_772cuTexRefGetAddress(__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_772cuTexRefGetAddress(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetAddress", 0);

  /* "cuda/bindings/driver.pyx":42048
 *     """
 *     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":42049
 *     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":42048
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42050
 *     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":42051
 *         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, 42051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42050
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42053
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42053, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42054
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42054, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42055
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42055, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":42056
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42057
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddress(((CUdeviceptr *)__pyx_v_pdptr->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42057, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42056
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42058
 *     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":42059
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42059, __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, 42059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42059, __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, 42059, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42058
 *     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":42060
 *     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, 42060, __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, 42060, __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, 42060, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42060, __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, 42060, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pdptr)) != (0)) __PYX_ERR(0, 42060, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42021
 *     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_7);
  __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":42062
 *     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_775cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_774cuTexRefGetArray, "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_775cuTexRefGetArray = {"cuTexRefGetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_775cuTexRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_774cuTexRefGetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_775cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42062, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42062, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42062, __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, 42062, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42062, __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, 42062, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_774cuTexRefGetArray(__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_774cuTexRefGetArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetArray", 0);

  /* "cuda/bindings/driver.pyx":42089
 *     """
 *     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":42090
 *     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":42089
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42091
 *     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":42092
 *         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, 42092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42091
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42094
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42094, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42095
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42095, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42096
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42096, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":42097
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42098
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetArray(((CUarray *)__pyx_v_phArray->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42098, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42097
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42099
 *     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":42100
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42100, __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, 42100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42100, __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, 42100, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42099
 *     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":42101
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42101, __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, 42101, __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, 42101, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42101, __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, 42101, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phArray)) != (0)) __PYX_ERR(0, 42101, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42062
 *     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_7);
  __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":42103
 *     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_777cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_776cuTexRefGetMipmappedArray, "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_777cuTexRefGetMipmappedArray = {"cuTexRefGetMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_777cuTexRefGetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_776cuTexRefGetMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_777cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42103, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42103, __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, 42103, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42103, __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, 42103, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_776cuTexRefGetMipmappedArray(__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_776cuTexRefGetMipmappedArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":42131
 *     """
 *     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":42132
 *     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":42131
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42133
 *     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":42134
 *         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, 42134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42133
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42136
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42136, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42137
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42137, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42138
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42138, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":42139
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42140
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmappedArray(((CUmipmappedArray *)__pyx_v_phMipmappedArray->_pvt_ptr), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42140, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42139
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42141
 *     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":42142
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42142, __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, 42142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42142, __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, 42142, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42141
 *     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":42143
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42143, __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, 42143, __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, 42143, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42143, __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, 42143, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phMipmappedArray)) != (0)) __PYX_ERR(0, 42143, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42103
 *     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_7);
  __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":42145
 *     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_779cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_778cuTexRefGetAddressMode, "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_779cuTexRefGetAddressMode = {"cuTexRefGetAddressMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_779cuTexRefGetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_778cuTexRefGetAddressMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_779cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42145, __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, 42145, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42145, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42145, __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, 42145, __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, 42145, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42145, __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, 42146, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddressMode", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 42145, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_778cuTexRefGetAddressMode(__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_778cuTexRefGetAddressMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuTexRefGetAddressMode", 0);

  /* "cuda/bindings/driver.pyx":42174
 *     """
 *     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":42175
 *     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":42174
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42176
 *     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":42177
 *         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, 42177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42176
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42179
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42179, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42180
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUaddress_mode pam
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42180, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42182
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42183
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetAddressMode((&__pyx_v_pam), __pyx_v_cyhTexRef, __pyx_v_dim); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42183, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42182
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42184
 *     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":42185
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42185, __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, 42185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42185, __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, 42185, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42184
 *     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":42186
 *     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, 42186, __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, 42186, __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, 42186, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUaddress_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42186, __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, 42186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42186, __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, 42186, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42186, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42145
 *     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_7);
  __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":42188
 *     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_781cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_780cuTexRefGetFilterMode, "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_781cuTexRefGetFilterMode = {"cuTexRefGetFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_781cuTexRefGetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_780cuTexRefGetFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_781cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42188, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42188, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42188, __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, 42188, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42188, __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, 42188, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_780cuTexRefGetFilterMode(__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_780cuTexRefGetFilterMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuTexRefGetFilterMode", 0);

  /* "cuda/bindings/driver.pyx":42214
 *     """
 *     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":42215
 *     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":42214
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42216
 *     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":42217
 *         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, 42217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42216
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42219
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42219, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42220
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42220, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42222
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42223
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
 *         err = cydriver.cuTexRefGetFilterMode(&pfm, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFilterMode((&__pyx_v_pfm), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42223, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42222
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42224
 *     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":42225
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42225, __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, 42225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42225, __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, 42225, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42224
 *     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":42226
 *     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, 42226, __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, 42226, __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, 42226, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfilter_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42226, __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, 42226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42226, __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, 42226, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42226, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42188
 *     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_7);
  __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":42228
 *     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_783cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_782cuTexRefGetFormat, "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_783cuTexRefGetFormat = {"cuTexRefGetFormat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_783cuTexRefGetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_782cuTexRefGetFormat};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_783cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42228, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42228, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42228, __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, 42228, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42228, __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, 42228, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_782cuTexRefGetFormat(__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_782cuTexRefGetFormat(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuTexRefGetFormat", 0);

  /* "cuda/bindings/driver.pyx":42257
 *     """
 *     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":42258
 *     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":42257
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42259
 *     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":42260
 *         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, 42260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42259
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42262
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42262, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42263
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUarray_format pFormat
 *     cdef int pNumChannels = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42263, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42265
 *     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":42266
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42267
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFormat((&__pyx_v_pFormat), (&__pyx_v_pNumChannels), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42267, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42266
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42268
 *     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":42269
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42269, __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, 42269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42269, __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, 42269, __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, 42269, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42268
 *     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":42270
 *     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, 42270, __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, 42270, __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, 42270, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUarray_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42270, __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, 42270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_pNumChannels); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42270, __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, 42270, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42270, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8) != (0)) __PYX_ERR(0, 42270, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42228
 *     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_7);
  __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":42272
 *     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_785cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_784cuTexRefGetMipmapFilterMode, "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_785cuTexRefGetMipmapFilterMode = {"cuTexRefGetMipmapFilterMode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_785cuTexRefGetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_784cuTexRefGetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_785cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42272, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42272, __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, 42272, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42272, __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, 42272, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_784cuTexRefGetMipmapFilterMode(__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_784cuTexRefGetMipmapFilterMode(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuTexRefGetMipmapFilterMode", 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
 *     cdef cydriver.CUfilter_mode pfm
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42303, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42304
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (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_5));

  /* "cuda/bindings/driver.pyx":42306
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42307
 *     cdef cydriver.CUfilter_mode pfm
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapFilterMode(&pfm, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapFilterMode((&__pyx_v_pfm), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42307, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42306
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42308
 *     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":42309
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42309, __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, 42309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42309, __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, 42309, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42308
 *     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":42310
 *     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, 42310, __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, 42310, __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, 42310, __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_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CUfilter_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42310, __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, 42310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __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_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42310, __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, 42310, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42310, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42272
 *     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_7);
  __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":42312
 *     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_787cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_786cuTexRefGetMipmapLevelBias, "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_787cuTexRefGetMipmapLevelBias = {"cuTexRefGetMipmapLevelBias", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_787cuTexRefGetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_786cuTexRefGetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_787cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42312, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42312, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42312, __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, 42312, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42312, __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, 42312, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_786cuTexRefGetMipmapLevelBias(__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_786cuTexRefGetMipmapLevelBias(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelBias", 0);

  /* "cuda/bindings/driver.pyx":42339
 *     """
 *     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":42340
 *     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":42339
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42341
 *     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":42342
 *         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, 42342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42341
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42344
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42344, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42345
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pbias = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42345, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42346
 *         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":42347
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42348
 *     cdef float pbias = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetMipmapLevelBias(&pbias, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelBias((&__pyx_v_pbias), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42348, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42347
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42349
 *     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":42350
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42350, __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, 42350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42350, __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, 42350, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42349
 *     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":42351
 *     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, 42351, __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, 42351, __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, 42351, __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 = PyFloat_FromDouble(__pyx_v_pbias); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42351, __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, 42351, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42351, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42312
 *     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_7);
  __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":42353
 *     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_789cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_788cuTexRefGetMipmapLevelClamp, "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_789cuTexRefGetMipmapLevelClamp = {"cuTexRefGetMipmapLevelClamp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_789cuTexRefGetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_788cuTexRefGetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_789cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42353, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42353, __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, 42353, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42353, __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, 42353, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_788cuTexRefGetMipmapLevelClamp(__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_788cuTexRefGetMipmapLevelClamp(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  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("cuTexRefGetMipmapLevelClamp", 0);

  /* "cuda/bindings/driver.pyx":42382
 *     """
 *     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":42383
 *     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":42382
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42384
 *     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":42385
 *         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, 42385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42384
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42387
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42387, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42388
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42388, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42389
 *         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":42390
 *     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":42391
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, cyhTexRef)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42392
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMipmapLevelClamp((&__pyx_v_pminMipmapLevelClamp), (&__pyx_v_pmaxMipmapLevelClamp), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42392, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42391
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42393
 *     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":42394
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42394, __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, 42394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42394, __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, 42394, __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, 42394, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42393
 *     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":42395
 *     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, 42395, __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, 42395, __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, 42395, __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 = PyFloat_FromDouble(__pyx_v_pminMipmapLevelClamp); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pmaxMipmapLevelClamp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 42395, __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, 42395, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42395, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 42395, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42353
 *     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_7);
  __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":42397
 *     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_791cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_790cuTexRefGetMaxAnisotropy, "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_791cuTexRefGetMaxAnisotropy = {"cuTexRefGetMaxAnisotropy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_791cuTexRefGetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_790cuTexRefGetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_791cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42397, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42397, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42397, __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, 42397, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42397, __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, 42397, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_790cuTexRefGetMaxAnisotropy(__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_790cuTexRefGetMaxAnisotropy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetMaxAnisotropy", 0);

  /* "cuda/bindings/driver.pyx":42423
 *     """
 *     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":42424
 *     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":42423
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42425
 *     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":42426
 *         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, 42426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42425
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42428
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42428, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42429
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef int pmaxAniso = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42429, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42430
 *         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":42431
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42432
 *     cdef int pmaxAniso = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetMaxAnisotropy(&pmaxAniso, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetMaxAnisotropy((&__pyx_v_pmaxAniso), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42432, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42431
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42433
 *     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":42434
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42434, __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, 42434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42434, __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, 42434, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42433
 *     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":42435
 *     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, 42435, __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, 42435, __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, 42435, __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 = __Pyx_PyLong_From_int(__pyx_v_pmaxAniso); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42435, __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, 42435, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42435, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42397
 *     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_7);
  __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":42437
 *     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_793cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_792cuTexRefGetBorderColor, "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_793cuTexRefGetBorderColor = {"cuTexRefGetBorderColor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_793cuTexRefGetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_792cuTexRefGetBorderColor};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_793cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42437, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42437, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42437, __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, 42437, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42437, __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, 42437, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_792cuTexRefGetBorderColor(__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_792cuTexRefGetBorderColor(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetBorderColor", 0);

  /* "cuda/bindings/driver.pyx":42466
 *     """
 *     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":42467
 *     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":42466
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42468
 *     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":42469
 *         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, 42469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42468
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42471
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42471, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42472
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pBorderColor = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42472, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42473
 *         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":42474
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42475
 *     cdef float pBorderColor = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetBorderColor(&pBorderColor, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetBorderColor((&__pyx_v_pBorderColor), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42475, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42474
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42476
 *     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":42477
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42477, __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, 42477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42477, __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, 42477, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42476
 *     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":42478
 *     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, 42478, __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, 42478, __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, 42478, __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 = PyFloat_FromDouble(__pyx_v_pBorderColor); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42478, __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, 42478, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42478, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42437
 *     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_7);
  __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":42480
 *     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_795cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_794cuTexRefGetFlags, "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_795cuTexRefGetFlags = {"cuTexRefGetFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_795cuTexRefGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_794cuTexRefGetFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_795cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42480, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42480, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42480, __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, 42480, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42480, __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, 42480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_794cuTexRefGetFlags(__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_794cuTexRefGetFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefGetFlags", 0);

  /* "cuda/bindings/driver.pyx":42505
 *     """
 *     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":42506
 *     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":42505
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42507
 *     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":42508
 *         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, 42508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42507
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42510
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42510, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42511
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef unsigned int pFlags = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42511, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42512
 *         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":42513
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42514
 *     cdef unsigned int pFlags = 0
 *     with nogil:
 *         err = cydriver.cuTexRefGetFlags(&pFlags, cyhTexRef)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefGetFlags((&__pyx_v_pFlags), __pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42514, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42513
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42515
 *     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":42516
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42516, __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, 42516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42516, __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, 42516, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42515
 *     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":42517
 *     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, 42517, __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, 42517, __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, 42517, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42517, __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, 42517, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 42517, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42480
 *     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_7);
  __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":42519
 *     return (_dict_CUresult[err], pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_797cuTexRefCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_796cuTexRefCreate, "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_797cuTexRefCreate = {"cuTexRefCreate", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_797cuTexRefCreate, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_796cuTexRefCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_797cuTexRefCreate(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_796cuTexRefCreate(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_796cuTexRefCreate(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefCreate", 0);

  /* "cuda/bindings/driver.pyx":42543
 *     :py:obj:`~.cuTexRefDestroy`
 *     """
 *     cdef CUtexref pTexRef = CUtexref()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42543, __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":42544
 *     """
 *     cdef CUtexref pTexRef = CUtexref()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefCreate(<cydriver.CUtexref*>pTexRef._pvt_ptr)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42545
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefCreate(((CUtexref *)__pyx_v_pTexRef->_pvt_ptr)); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42545, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":42544
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":42546
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":42547
 *         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, 42547, __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, 42547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 42547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 42547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 42547, __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, 42547, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42546
 *     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":42548
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42548, __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, 42548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 42548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 42548, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pTexRef)) != (0)) __PYX_ERR(0, 42548, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42519
 *     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_6);
  __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":42550
 *     return (_dict_CUresult[err], pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_799cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_798cuTexRefDestroy, "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_799cuTexRefDestroy = {"cuTexRefDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_799cuTexRefDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_798cuTexRefDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_799cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42550, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42550, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42550, __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, 42550, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42550, __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, 42550, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_798cuTexRefDestroy(__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_798cuTexRefDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexRefDestroy", 0);

  /* "cuda/bindings/driver.pyx":42573
 *     """
 *     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":42574
 *     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":42573
 *     """
 *     cdef cydriver.CUtexref cyhTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42575
 *     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":42576
 *         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, 42576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42575
 *     if hTexRef is None:
 *         phTexRef = 0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42578
 *         phTexRef = int(hTexRef)
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hTexRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42578, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42579
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42579, __pyx_L1_error)
  __pyx_v_cyhTexRef = ((CUtexref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42580
 *         phTexRef = int(CUtexref(hTexRef))
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42581
 *     cyhTexRef = <cydriver.CUtexref><void_ptr>phTexRef
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(cyhTexRef)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexRefDestroy(__pyx_v_cyhTexRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42581, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42580
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42582
 *     with nogil:
 *         err = cydriver.cuTexRefDestroy(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, 42582, __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, 42582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 42582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42582, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42550
 *     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_7);
  __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":42584
 *     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_801cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_800cuSurfRefSetArray, "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_801cuSurfRefSetArray = {"cuSurfRefSetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_801cuSurfRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_800cuSurfRefSetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_801cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42584, __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, 42584, __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, 42584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42584, __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, 42584, __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, 42584, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42584, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42584, __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, 42585, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 42584, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_800cuSurfRefSetArray(__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_800cuSurfRefSetArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfRefSetArray", 0);

  /* "cuda/bindings/driver.pyx":42616
 *     """
 *     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":42617
 *     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":42616
 *     """
 *     cdef cydriver.CUarray cyhArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42618
 *     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":42619
 *         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, 42619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42618
 *     if hArray is None:
 *         phArray = 0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42621
 *         phArray = int(hArray)
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray
 *     cdef cydriver.CUsurfref cyhSurfRef
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hArray};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42621, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42622
 *     else:
 *         phArray = int(CUarray(hArray))
 *     cyhArray = <cydriver.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42622, __pyx_L1_error)
  __pyx_v_cyhArray = ((CUarray)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42624
 *     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":42625
 *     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":42624
 *     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":42626
 *     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":42627
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)             # <<<<<<<<<<<<<<
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hSurfRef); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":42626
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":42629
 *         phSurfRef = int(hSurfRef)
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hSurfRef};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42629, __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, 42629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":42630
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42630, __pyx_L1_error)
  __pyx_v_cyhSurfRef = ((CUsurfref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42631
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42632
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfRefSetArray(__pyx_v_cyhSurfRef, __pyx_v_cyhArray, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42632, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42631
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":42633
 *     with nogil:
 *         err = cydriver.cuSurfRefSetArray(cyhSurfRef, cyhArray, 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, 42633, __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, 42633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 42633, __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, 42633, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42584
 *     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_7);
  __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":42635
 *     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_803cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_802cuSurfRefGetArray, "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_803cuSurfRefGetArray = {"cuSurfRefGetArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_803cuSurfRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_802cuSurfRefGetArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_803cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42635, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42635, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42635, __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, 42635, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42635, __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, 42635, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_802cuSurfRefGetArray(__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_802cuSurfRefGetArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfRefGetArray", 0);

  /* "cuda/bindings/driver.pyx":42662
 *     """
 *     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":42663
 *     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":42662
 *     """
 *     cdef cydriver.CUsurfref cyhSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42664
 *     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":42665
 *         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, 42665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42664
 *     if hSurfRef is None:
 *         phSurfRef = 0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42667
 *         phSurfRef = int(hSurfRef)
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hSurfRef};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42667, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phSurfRef = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42668
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *     cyhSurfRef = <cydriver.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42668, __pyx_L1_error)
  __pyx_v_cyhSurfRef = ((CUsurfref)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42669
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42669, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":42670
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42671
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfRefGetArray(((CUarray *)__pyx_v_phArray->_pvt_ptr), __pyx_v_cyhSurfRef); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42671, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42670
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42672
 *     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":42673
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42673, __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, 42673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42673, __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, 42673, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42672
 *     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":42674
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42674, __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, 42674, __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, 42674, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42674, __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, 42674, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phArray)) != (0)) __PYX_ERR(0, 42674, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42635
 *     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_7);
  __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":42676
 *     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_805cuTexObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_804cuTexObjectCreate, "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_805cuTexObjectCreate = {"cuTexObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_805cuTexObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_804cuTexObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_805cuTexObjectCreate(PyObject *__pyx_self, 
#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, 42676, __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, 42676, __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, 42676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42676, __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, 42676, __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, 42676, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 42676, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 42676, __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, 42676, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 42677, __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, 42677, __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, 42677, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_804cuTexObjectCreate(__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_804cuTexObjectCreate(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;
  size_t __pyx_t_3;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_4;
  int __pyx_t_5;
  struct CUDA_TEXTURE_DESC_st *__pyx_t_6;
  struct CUDA_RESOURCE_VIEW_DESC_st *__pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":42903
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42903, __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":42904
 *     """
 *     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_5 = (((PyObject *)__pyx_v_pResDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypResDesc_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":42905
 *     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_5 = (((PyObject *)__pyx_v_pTexDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_6 = __pyx_v_pTexDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cypTexDesc_ptr = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":42906
 *     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_5 = (((PyObject *)__pyx_v_pResViewDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_7 = __pyx_v_pResViewDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cypResViewDesc_ptr = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":42907
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42908
 *     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_8 = __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_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42908, __pyx_L4_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":42907
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":42909
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":42910
 *         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, 42910, __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, 42910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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, 42910, __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, 42910, __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, 42910, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42909
 *     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":42911
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42911, __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, 42911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 42911, __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, 42911, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_pTexObject)) != (0)) __PYX_ERR(0, 42911, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42676
 *     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_9);
  __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":42913
 *     return (_dict_CUresult[err], pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_806cuTexObjectDestroy, "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_807cuTexObjectDestroy = {"cuTexObjectDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_806cuTexObjectDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_807cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42913, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42913, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42913, __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, 42913, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42913, __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, 42913, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_806cuTexObjectDestroy(__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_806cuTexObjectDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectDestroy", 0);

  /* "cuda/bindings/driver.pyx":42934
 *     """
 *     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":42935
 *     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":42934
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42936
 *     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":42937
 *         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, 42937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42936
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42939
 *         ptexObject = int(texObject)
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42939, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42940
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42940, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42941
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42942
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuTexObjectDestroy(__pyx_v_cytexObject); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42942, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42941
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42943
 *     with nogil:
 *         err = cydriver.cuTexObjectDestroy(cytexObject)
 *     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, 42943, __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, 42943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 42943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42943, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42913
 *     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_7);
  __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":42945
 *     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_809cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_808cuTexObjectGetResourceDesc, "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_809cuTexObjectGetResourceDesc = {"cuTexObjectGetResourceDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_809cuTexObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_808cuTexObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_809cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42945, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42945, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42945, __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, 42945, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42945, __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, 42945, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_808cuTexObjectGetResourceDesc(__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_808cuTexObjectGetResourceDesc(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceDesc", 0);

  /* "cuda/bindings/driver.pyx":42969
 *     """
 *     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":42970
 *     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":42969
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42971
 *     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":42972
 *         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, 42972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":42971
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":42974
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42974, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":42975
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 42975, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":42976
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42976, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":42977
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":42978
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 42978, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":42977
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":42979
 *     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":42980
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42980, __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, 42980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 42980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 42980, __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, 42980, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":42979
 *     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":42981
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42981, __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, 42981, __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, 42981, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 42981, __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, 42981, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pResDesc)) != (0)) __PYX_ERR(0, 42981, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42945
 *     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_7);
  __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":42983
 *     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_811cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_810cuTexObjectGetTextureDesc, "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_811cuTexObjectGetTextureDesc = {"cuTexObjectGetTextureDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_811cuTexObjectGetTextureDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_810cuTexObjectGetTextureDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_811cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 42983, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 42983, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 42983, __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, 42983, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 42983, __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, 42983, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_810cuTexObjectGetTextureDesc(__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_810cuTexObjectGetTextureDesc(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetTextureDesc", 0);

  /* "cuda/bindings/driver.pyx":43007
 *     """
 *     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":43008
 *     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":43007
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43009
 *     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":43010
 *         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, 43010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":43009
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43012
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43012, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":43013
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *     cytexObject = <cydriver.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43013, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":43014
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43014, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43015
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43016
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43016, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":43015
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":43017
 *     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":43018
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43018, __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, 43018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 43018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 43018, __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, 43018, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43017
 *     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":43019
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43019, __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, 43019, __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, 43019, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43019, __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, 43019, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pTexDesc)) != (0)) __PYX_ERR(0, 43019, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":42983
 *     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_7);
  __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":43021
 *     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_813cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_812cuTexObjectGetResourceViewDesc, "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_813cuTexObjectGetResourceViewDesc = {"cuTexObjectGetResourceViewDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_813cuTexObjectGetResourceViewDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_812cuTexObjectGetResourceViewDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_813cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43021, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 43021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43021, __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, 43021, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43021, __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, 43021, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_812cuTexObjectGetResourceViewDesc(__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_812cuTexObjectGetResourceViewDesc(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceViewDesc", 0);

  /* "cuda/bindings/driver.pyx":43046
 *     """
 *     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":43047
 *     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":43046
 *     """
 *     cdef cydriver.CUtexObject cytexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43048
 *     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":43049
 *         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, 43049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":43048
 *     if texObject is None:
 *         ptexObject = 0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43051
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_texObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43051, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":43052
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43052, __pyx_L1_error)
  __pyx_v_cytexObject = ((CUtexObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":43053
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43053, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43054
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43055
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43055, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":43054
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":43056
 *     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":43057
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43057, __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, 43057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 43057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 43057, __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, 43057, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43056
 *     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":43058
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43058, __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, 43058, __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, 43058, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43058, __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, 43058, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResViewDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResViewDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pResViewDesc)) != (0)) __PYX_ERR(0, 43058, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43021
 *     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_7);
  __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":43060
 *     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_815cuSurfObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_814cuSurfObjectCreate, "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_815cuSurfObjectCreate = {"cuSurfObjectCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_815cuSurfObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_814cuSurfObjectCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_815cuSurfObjectCreate(PyObject *__pyx_self, 
#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, 43060, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 43060, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43060, __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, 43060, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43060, __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, 43060, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 43061, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_814cuSurfObjectCreate(__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_814cuSurfObjectCreate(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;
  size_t __pyx_t_3;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_4;
  int __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectCreate", 0);

  /* "cuda/bindings/driver.pyx":43092
 *     :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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43092, __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":43093
 *     """
 *     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_5 = (((PyObject *)__pyx_v_pResDesc) != Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = __pyx_v_pResDesc->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cypResDesc_ptr = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":43094
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43095
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectCreate(((CUsurfObject *)__pyx_v_pSurfObject->_pvt_ptr), __pyx_v_cypResDesc_ptr); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43095, __pyx_L4_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":43094
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":43096
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":43097
 *         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, 43097, __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, 43097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 43097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 43097, __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, 43097, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43096
 *     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":43098
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43098, __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, 43098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43098, __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, 43098, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pSurfObject)) != (0)) __PYX_ERR(0, 43098, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43060
 *     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_7);
  __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":43100
 *     return (_dict_CUresult[err], pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_817cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_816cuSurfObjectDestroy, "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_817cuSurfObjectDestroy = {"cuSurfObjectDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_817cuSurfObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_816cuSurfObjectDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_817cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43100, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 43100, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43100, __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, 43100, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43100, __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, 43100, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_816cuSurfObjectDestroy(__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_816cuSurfObjectDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectDestroy", 0);

  /* "cuda/bindings/driver.pyx":43121
 *     """
 *     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":43122
 *     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":43121
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43123
 *     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":43124
 *         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, 43124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":43123
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43126
 *         psurfObject = int(surfObject)
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))             # <<<<<<<<<<<<<<
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_surfObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43126, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":43127
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43127, __pyx_L1_error)
  __pyx_v_cysurfObject = ((CUsurfObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":43128
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43129
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuSurfObjectDestroy(__pyx_v_cysurfObject); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43129, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":43128
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":43130
 *     with nogil:
 *         err = cydriver.cuSurfObjectDestroy(cysurfObject)
 *     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, 43130, __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, 43130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 43130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 43130, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43100
 *     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_7);
  __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":43132
 *     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_819cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_818cuSurfObjectGetResourceDesc, "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_819cuSurfObjectGetResourceDesc = {"cuSurfObjectGetResourceDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_819cuSurfObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_818cuSurfObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_819cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43132, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 43132, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43132, __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, 43132, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43132, __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, 43132, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_818cuSurfObjectGetResourceDesc(__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_818cuSurfObjectGetResourceDesc(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuSurfObjectGetResourceDesc", 0);

  /* "cuda/bindings/driver.pyx":43156
 *     """
 *     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":43157
 *     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":43156
 *     """
 *     cdef cydriver.CUsurfObject cysurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43158
 *     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":43159
 *         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, 43159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":43158
 *     if surfObject is None:
 *         psurfObject = 0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":43161
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_surfObject};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43161, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":43162
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *     cysurfObject = <cydriver.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43162, __pyx_L1_error)
  __pyx_v_cysurfObject = ((CUsurfObject)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":43163
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43163, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43164
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43165
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43165, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":43164
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":43166
 *     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":43167
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43167, __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, 43167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 43167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 43167, __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, 43167, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43166
 *     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":43168
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43168, __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, 43168, __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, 43168, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43168, __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, 43168, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pResDesc)) != (0)) __PYX_ERR(0, 43168, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43132
 *     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_7);
  __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":43170
 *     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_821cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_820cuTensorMapEncodeTiled, "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_821cuTensorMapEncodeTiled = {"cuTensorMapEncodeTiled", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_821cuTensorMapEncodeTiled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_820cuTensorMapEncodeTiled};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_821cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __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, 43170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43170, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43170, __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, 43170, __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, 43170, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43170, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43170, __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, 43170, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 43171, __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, 43171, __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, 43171, __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, 43171, __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, 43171, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_820cuTensorMapEncodeTiled(__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_2generator182(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43397
 *     """
 *     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_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, 43397, __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_2generator182, ((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_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43397, __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_2generator182(__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, 43397, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43397, __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, 43397, __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, 43397, __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, 43397, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43397, __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, 43397, __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, 43397, __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_5generator183(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43400
 *         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_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, 43400, __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_5generator183, ((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_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43400, __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_5generator183(__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, 43400, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43400, __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, 43400, __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, 43400, __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, 43400, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43400, __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, 43400, __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, 43400, __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_8generator184(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43403
 *         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_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, 43403, __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_8generator184, ((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_cuTensorMapEncodeTiled_locals_ge, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 43403, __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_8generator184(__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, 43403, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43403, __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, 43403, __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, 43403, __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, 43403, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43403, __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, 43403, __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, 43403, __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_11generator185(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43406
 *         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_185_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_185_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_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_185_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43406, __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_11generator185, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[185]), (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, 43406, __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_11generator185(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_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, 43406, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43406, __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, 43406, __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, 43406, __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, 43406, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43406, __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, 43406, __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, 43406, __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":43170
 *     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_820cuTensorMapEncodeTiled(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_2generator182 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator183 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator184 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator185 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUtensorMapDataType __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;
  CUtensorMapInterleave __pyx_t_14;
  CUtensorMapSwizzle __pyx_t_15;
  CUtensorMapL2promotion __pyx_t_16;
  CUtensorMapFloatOOBfill __pyx_t_17;
  CUresult __pyx_t_18;
  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":43396
 *     :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, 43396, __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":43397
 *     """
 *     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, 43397, __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, 43397, __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, 43397, __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":43398
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43398, __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, 43398, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43397
 *     """
 *     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":43399
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":43400
 *         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, 43400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43400, __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":43401
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_boxDim_is_not_instance};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43401, __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, 43401, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43400
 *         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":43402
 *     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_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalStrides);
    __pyx_t_1 = __pyx_v_globalStrides;
  }
  __Pyx_DECREF_SET(__pyx_v_globalStrides, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":43403
 *         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_1 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_6genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43403, __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, 43403, __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, 43403, __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":43404
 *     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_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43404, __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, 43404, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43403
 *         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":43405
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_globalDim);
    __pyx_t_3 = __pyx_v_globalDim;
  }
  __Pyx_DECREF_SET(__pyx_v_globalDim, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43406
 *         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_3 = __pyx_pf_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_9genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43406, __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":43407
 *     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_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_globalDim_is_not_instan};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43407, __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, 43407, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43406
 *         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":43409
 *         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":43410
 *     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":43409
 *         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":43411
 *     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":43412
 *         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, 43412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43411
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L7;
  }

  /* "cuda/bindings/driver.pyx":43414
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_tensorRank};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43414, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L7:;

  /* "cuda/bindings/driver.pyx":43415
 *     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_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43415, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":43416
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43416, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_8bindings_6driver_CUtensorMap *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43417
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytensorDataType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":43418
 *     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_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_globalAddress};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43418, __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":43419
 *     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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cyglobalAddress), __pyx_mstate_global->__pyx_n_u_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43419, __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, 43419, __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_6));

  /* "cuda/bindings/driver.pyx":43420
 *     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":43421
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43421, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43422
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43422, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43423
 *     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":43424
 *         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_t_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43424, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43424, __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, 43424, __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, 43424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43424, __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(cuuint64_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43424, __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, 43424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43424, __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_1, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__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, 43424, __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, 43424, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43423
 *     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":43426
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43426, __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":43427
 *         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_3 = __Pyx_GetItemInt(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43427, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43421
 *     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":43428
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43428, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43429
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_globalDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyglobalDim = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43428
 *             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":43430
 *     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":43431
 *         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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43431, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43432
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43432, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43433
 *     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":43434
 *         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_9 = NULL;
      __pyx_t_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43434, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43434, __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, 43434, __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, 43434, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43434, __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(cuuint64_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43434, __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, 43434, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43434, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43434, __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, 43434, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43433
 *     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":43436
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43436, __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":43437
 *         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_3 = __Pyx_GetItemInt(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43437, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43431
 *         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":43438
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43438, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43439
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyglobalStrides = ((cuuint64_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43438
 *             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":43440
 *     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":43441
 *         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_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43441, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43442
 *     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_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43442, __pyx_L1_error)
    __pyx_v_cyboxDim = ((cuuint32_t *)calloc(__pyx_t_8, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43443
 *     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":43444
 *         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_1 = NULL;
      __pyx_t_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43444, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43444, __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, 43444, __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, 43444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43444, __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(cuuint32_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43444, __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, 43444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43444, __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_1, __pyx_t_9};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__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, 43444, __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, 43444, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43443
 *     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":43446
 *             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_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43446, __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":43447
 *         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_3 = __Pyx_GetItemInt(__pyx_v_boxDim, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43447, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyboxDim[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43441
 *         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":43448
 *             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_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43448, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43449
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_boxDim, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyboxDim = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43448
 *             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":43450
 *     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":43451
 *         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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43451, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43452
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43452, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_8, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43453
 *     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":43454
 *         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_9 = NULL;
      __pyx_t_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43454, __pyx_L1_error)
      __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43454, __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, 43454, __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, 43454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43454, __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(cuuint32_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43454, __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, 43454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43454, __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_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43454, __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, 43454, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43453
 *     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":43456
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43456, __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":43457
 *         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_3 = __Pyx_GetItemInt(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43457, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cyelementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_3)->_pvt_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/bindings/driver.pyx":43451
 *         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":43458
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43458, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 == 1);
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":43459
 *                 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_3 = __Pyx_GetItemInt(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_cyelementStrides = ((cuuint32_t *)((struct __pyx_obj_4cuda_8bindings_6driver_cuuint32_t *)__pyx_t_3)->_pvt_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43458
 *             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":43460
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = ((enum CUtensorMapInterleave_enum)__Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyinterleave = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":43461
 *         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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_15 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyLong_As_enum__CUtensorMapSwizzle_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyswizzle = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":43462
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_16 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyLong_As_enum__CUtensorMapL2promotion_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":43463
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_17 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyLong_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoobFill = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":43464
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43465
 *     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_18 = __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_18 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43465, __pyx_L25_error)
        __pyx_v_err = __pyx_t_18;
      }

      /* "cuda/bindings/driver.pyx":43464
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L26;
        }
        __pyx_L25_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L26:;
      }
  }

  /* "cuda/bindings/driver.pyx":43466
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43466, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 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":43467
 *         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":43466
 *     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":43468
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43468, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 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":43469
 *         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":43468
 *     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":43470
 *     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_8 = PyObject_Length(__pyx_v_boxDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43470, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 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":43471
 *         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":43470
 *     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":43472
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43472, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 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":43473
 *         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":43472
 *     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":43474
 *     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":43475
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43475, __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, 43475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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, 43475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_9);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_9) != (0)) __PYX_ERR(0, 43475, __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, 43475, __pyx_L1_error);
    __pyx_t_9 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43474
 *     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":43476
 *     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, 43476, __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, 43476, __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, 43476, __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(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43476, __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, 43476, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_tensorMap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_tensorMap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_v_tensorMap)) != (0)) __PYX_ERR(0, 43476, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43170
 *     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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __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_2generator182);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_5generator183);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_8generator184);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_22cuTensorMapEncodeTiled_11generator185);
  __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":43478
 *     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_823cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_822cuTensorMapEncodeIm2col, "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_823cuTensorMapEncodeIm2col = {"cuTensorMapEncodeIm2col", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_823cuTensorMapEncodeIm2col, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_822cuTensorMapEncodeIm2col};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_823cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __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, 43478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43478, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43478, __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, 43478, __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, 43478, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43478, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43478, __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, 43478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 43479, __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, 43479, __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, 43479, __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, 43479, __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, 43479, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_822cuTensorMapEncodeIm2col(__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_2generator186(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43732
 *     """
 *     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_186_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_186_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_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_186_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43732, __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_2generator186, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[186]), (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, 43732, __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_2generator186(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_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, 43732, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43732, __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, 43732, __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, 43732, __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, 43732, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43732, __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, 43732, __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, 43732, __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_5generator187(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43751
 *     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_187_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_187_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_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_187_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43751, __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_5generator187, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[187]), (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, 43751, __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_5generator187(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_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, 43751, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43751, __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, 43751, __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, 43751, __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, 43751, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43751, __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, 43751, __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, 43751, __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_8generator188(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43754
 *         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_188_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_188_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_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_188_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43754, __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_8generator188, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[188]), (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, 43754, __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_8generator188(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_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, 43754, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43754, __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, 43754, __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, 43754, __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, 43754, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43754, __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, 43754, __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, 43754, __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_11generator189(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43757
 *         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_189_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_189_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_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_189_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43757, __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_11generator189, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[189]), (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, 43757, __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_11generator189(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_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, 43757, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43757, __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, 43757, __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, 43757, __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, 43757, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43757, __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, 43757, __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, 43757, __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_14generator190(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":43760
 *         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_190_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_190_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_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_190_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 43760, __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_14generator190, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[190]), (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, 43760, __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_14generator190(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_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, 43760, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 43760, __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, 43760, __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, 43760, __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, 43760, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 43760, __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, 43760, __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, 43760, __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":43478
 *     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_822cuTensorMapEncodeIm2col(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_2generator186 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator187 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator188 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator189 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator190 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUtensorMapDataType __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<int>  __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("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":43731
 *     :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, 43731, __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":43732
 *     """
 *     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, 43732, __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, 43732, __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, 43732, __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":43733
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43733, __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, 43733, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43732
 *     """
 *     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":43735
 *         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":43736
 *     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":43735
 *         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":43737
 *     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":43738
 *         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, 43738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43737
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":43740
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))             # <<<<<<<<<<<<<<
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pixelsPerColumn};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43740, __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, 43740, __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":43741
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43741, __pyx_L1_error)
  __pyx_v_cypixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":43743
 *     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":43744
 *     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":43743
 *     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":43745
 *     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":43746
 *         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, 43746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":43745
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":43748
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_channelsPerPixel};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43748, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":43749
 *     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_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43749, __pyx_L1_error)
  __pyx_v_cychannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":43750
 *         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, 43750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_pixelBoxUpperCorner);
    __pyx_t_3 = __pyx_v_pixelBoxUpperCorner;
  }
  __Pyx_DECREF_SET(__pyx_v_pixelBoxUpperCorner, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":43751
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_3genexpr(NULL, __pyx_v_pixelBoxUpperCorner); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43751, __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":43752
 *     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_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxUpperCorner_is};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43752, __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, 43752, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43751
 *     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":43753
 *     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, 43753, __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":43754
 *         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, 43754, __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, 43754, __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, 43754, __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":43755
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxLowerCorner_is};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43755, __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, 43755, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43754
 *         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":43756
 *     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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":43757
 *         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, 43757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43757, __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":43758
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43758, __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, 43758, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43757
 *         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":43759
 *     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, 43759, __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":43760
 *         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_23cuTensorMapEncodeIm2col_12genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43760, __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, 43760, __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, 43760, __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":43761
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43761, __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, 43761, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":43760
 *         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":43763
 *         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":43764
 *     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":43763
 *         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":43765
 *     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":43766
 *         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, 43766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":43765
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L10;
  }

  /* "cuda/bindings/driver.pyx":43768
 *         ptensorRank = int(tensorRank)
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_tensorRank};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43768, __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, 43768, __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_L10:;

  /* "cuda/bindings/driver.pyx":43769
 *     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_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43769, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":43770
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43770, __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":43771
 *     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, 43771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytensorDataType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":43772
 *     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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_globalAddress};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43772, __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":43773
 *     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, 43773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 43773, __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_6));

  /* "cuda/bindings/driver.pyx":43774
 *     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":43775
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43775, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43776
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43776, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43777
 *     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":43778
 *         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_t_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43778, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43778, __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, 43778, __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, 43778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43778, __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(cuuint64_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43778, __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, 43778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43778, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43778, __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, 43778, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43777
 *     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":43780
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43780, __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":43781
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43781, __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":43775
 *     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":43782
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43782, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43783
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43783, __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":43782
 *             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":43784
 *     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":43785
 *         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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43785, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43786
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43786, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":43787
 *     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":43788
 *         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_9 = NULL;
      __pyx_t_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43788, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43788, __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, 43788, __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, 43788, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 43788, __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(cuuint64_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43788, __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, 43788, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43788, __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_9, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43788, __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, 43788, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43787
 *     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":43790
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43790, __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":43791
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43791, __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":43785
 *         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":43792
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43792, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43793
 *                 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_1 = __Pyx_GetItemInt(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43793, __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":43792
 *             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":43794
 *     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_14 = __pyx_convert_vector_from_py_int(__pyx_v_pixelBoxLowerCorner); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43794, __pyx_L1_error)
  __pyx_v_cypixelBoxLowerCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":43795
 *         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_14 = __pyx_convert_vector_from_py_int(__pyx_v_pixelBoxUpperCorner); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 43795, __pyx_L1_error)
  __pyx_v_cypixelBoxUpperCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/bindings/driver.pyx":43796
 *     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":43797
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43797, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43798
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43798, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_8, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":43799
 *     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":43800
 *         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_t_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43800, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43800, __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, 43800, __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, 43800, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43800, __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(cuuint32_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43800, __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, 43800, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43800, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43800, __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, 43800, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":43799
 *     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":43802
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43802, __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":43803
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43803, __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":43797
 *     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":43804
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43804, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":43805
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43805, __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":43804
 *             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":43806
 *     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, 43806, __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, 43806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyinterleave = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":43807
 *         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, 43807, __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, 43807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyswizzle = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":43808
 *     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, 43808, __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, 43808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":43809
 *     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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43809, __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, 43809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoobFill = __pyx_t_18;

  /* "cuda/bindings/driver.pyx":43810
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":43811
 *     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_19 = __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_19 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 43811, __pyx_L24_error)
        __pyx_v_err = __pyx_t_19;
      }

      /* "cuda/bindings/driver.pyx":43810
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L25;
        }
        __pyx_L24_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L25:;
      }
  }

  /* "cuda/bindings/driver.pyx":43812
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43812, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":43813
 *         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":43812
 *     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":43814
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43814, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":43815
 *         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":43814
 *     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":43816
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 43816, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":43817
 *         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":43816
 *     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":43818
 *     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":43819
 *         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, 43819, __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, 43819, __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, 43819, __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(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43819, __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, 43819, __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, 43819, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":43818
 *     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":43820
 *     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_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43820, __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, 43820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 43820, __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, 43820, __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, 43820, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43478
 *     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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __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_2generator186);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_5generator187);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_8generator188);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_11generator189);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_23cuTensorMapEncodeIm2col_14generator190);
  __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":43822
 *     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_825cuTensorMapEncodeIm2colWide(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_824cuTensorMapEncodeIm2colWide, "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_825cuTensorMapEncodeIm2colWide = {"cuTensorMapEncodeIm2colWide", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_825cuTensorMapEncodeIm2colWide, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_824cuTensorMapEncodeIm2colWide};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_825cuTensorMapEncodeIm2colWide(PyObject *__pyx_self, 
#if CYTHON_METH_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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __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, 43822, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 43822, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 43822, __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, 43822, __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, 43822, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(0, 43822, __pyx_L3_error)
      values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(0, 43822, __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, 43823, __pyx_L3_error)
    __pyx_v_pixelBoxUpperCornerWidth = __Pyx_PyLong_As_int(values[6]); if (unlikely((__pyx_v_pixelBoxUpperCornerWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 43823, __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, 43822, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 43823, __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, 43823, __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, 43823, __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, 43823, __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, 43823, __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, 43823, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_824cuTensorMapEncodeIm2colWide(__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_2generator191(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":44063
 *     """
 *     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_191_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_191_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_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_191_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 44063, __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_2generator191, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[191]), (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, 44063, __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_2generator191(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_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, 44063, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 44063, __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, 44063, __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, 44063, __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, 44063, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 44063, __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, 44063, __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, 44063, __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_5generator192(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":44082
 *     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_192_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_192_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_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_192_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 44082, __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_5generator192, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[192]), (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, 44082, __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_5generator192(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_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, 44082, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 44082, __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, 44082, __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, 44082, __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, 44082, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 44082, __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, 44082, __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, 44082, __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_8generator193(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":44085
 *         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_193_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_193_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_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_193_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 44085, __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_8generator193, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[193]), (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, 44085, __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_8generator193(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_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, 44085, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 44085, __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, 44085, __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, 44085, __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, 44085, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 44085, __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, 44085, __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, 44085, __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":43822
 *     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_824cuTensorMapEncodeIm2colWide(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_2generator191 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator192 = 0;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator193 = 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;
  size_t __pyx_t_5;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_6;
  CUtensorMapDataType __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;
  CUtensorMapInterleave __pyx_t_14;
  CUtensorMapIm2ColWideMode __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("cuTensorMapEncodeIm2colWide", 0);
  __Pyx_INCREF(__pyx_v_globalDim);
  __Pyx_INCREF(__pyx_v_globalStrides);
  __Pyx_INCREF(__pyx_v_elementStrides);

  /* "cuda/bindings/driver.pyx":44062
 *     :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, 44062, __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":44063
 *     """
 *     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, 44063, __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, 44063, __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, 44063, __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":44064
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44064, __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, 44064, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":44063
 *     """
 *     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":44066
 *         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":44067
 *     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":44066
 *         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":44068
 *     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":44069
 *         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, 44069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppixelsPerColumn = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44068
 *     if pixelsPerColumn is None:
 *         ppixelsPerColumn = 0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44071
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))             # <<<<<<<<<<<<<<
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pixelsPerColumn};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44071, __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, 44071, __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":44072
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 *     cypixelsPerColumn = <cydriver.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     cdef cydriver.cuuint32_t cychannelsPerPixel
 *     if channelsPerPixel is None:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44072, __pyx_L1_error)
  __pyx_v_cypixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44074
 *     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":44075
 *     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":44074
 *     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":44076
 *     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":44077
 *         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, 44077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/bindings/driver.pyx":44076
 *     if channelsPerPixel is None:
 *         pchannelsPerPixel = 0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":44079
 *         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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_channelsPerPixel};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44079, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pchannelsPerPixel = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":44080
 *     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_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44080, __pyx_L1_error)
  __pyx_v_cychannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44081
 *         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, 44081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 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":44082
 *     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_3 = __pyx_pf_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_3genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 44082, __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":44083
 *     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_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44083, __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, 44083, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":44082
 *     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":44084
 *     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, 44084, __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":44085
 *         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, 44085, __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, 44085, __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, 44085, __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":44086
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44086, __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, 44086, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":44085
 *         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":44088
 *         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":44089
 *     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":44088
 *         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":44090
 *     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":44091
 *         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, 44091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptensorRank = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44090
 *     if tensorRank is None:
 *         ptensorRank = 0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *     else:
*/
    goto __pyx_L8;
  }

  /* "cuda/bindings/driver.pyx":44093
 *         ptensorRank = int(tensorRank)
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *     cytensorRank = <cydriver.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_tensorRank};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44093, __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, 44093, __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":44094
 *     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_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44094, __pyx_L1_error)
  __pyx_v_cytensorRank = ((cuuint32_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":44095
 *         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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44095, __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":44096
 *     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, 44096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = ((enum CUtensorMapDataType_enum)__Pyx_PyLong_As_enum__CUtensorMapDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44096, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cytensorDataType = __pyx_t_7;

  /* "cuda/bindings/driver.pyx":44097
 *     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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_globalAddress};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44097, __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":44098
 *     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, 44098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44098, __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_6));

  /* "cuda/bindings/driver.pyx":44099
 *     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":44100
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44100, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44101
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44101, __pyx_L1_error)
    __pyx_v_cyglobalDim = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":44102
 *     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":44103
 *         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_t_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44103, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44103, __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, 44103, __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, 44103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44103, __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(cuuint64_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44103, __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, 44103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44103, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44103, __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, 44103, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":44102
 *     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":44105
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44105, __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":44106
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44106, __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":44100
 *     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":44107
 *             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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44107, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44108
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44108, __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":44107
 *             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":44109
 *     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":44110
 *         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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44110, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44111
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44111, __pyx_L1_error)
    __pyx_v_cyglobalStrides = ((cuuint64_t *)calloc(__pyx_t_8, (sizeof(cuuint64_t))));

    /* "cuda/bindings/driver.pyx":44112
 *     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":44113
 *         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_9 = NULL;
      __pyx_t_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44113, __pyx_L1_error)
      __pyx_t_3 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44113, __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, 44113, __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, 44113, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 44113, __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(cuuint64_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44113, __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, 44113, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44113, __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_9, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44113, __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, 44113, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":44112
 *     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":44115
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44115, __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":44116
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44116, __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":44110
 *         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":44117
 *             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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44117, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44118
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44118, __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":44117
 *             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":44119
 *     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":44120
 *         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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44120, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44121
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44121, __pyx_L1_error)
    __pyx_v_cyelementStrides = ((cuuint32_t *)calloc(__pyx_t_8, (sizeof(cuuint32_t))));

    /* "cuda/bindings/driver.pyx":44122
 *     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":44123
 *         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_t_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44123, __pyx_L1_error)
      __pyx_t_9 = PyLong_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44123, __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, 44123, __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, 44123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44123, __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(cuuint32_t))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44123, __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, 44123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44123, __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_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__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;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44123, __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, 44123, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":44122
 *     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":44125
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44125, __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":44126
 *         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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44126, __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":44120
 *         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":44127
 *             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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44127, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_8 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":44128
 *                 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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44128, __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":44127
 *             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":44129
 *     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, 44129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = ((enum CUtensorMapInterleave_enum)__Pyx_PyLong_As_enum__CUtensorMapInterleave_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyinterleave = __pyx_t_14;

  /* "cuda/bindings/driver.pyx":44130
 *         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, 44130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = ((enum CUtensorMapIm2ColWideMode_enum)__Pyx_PyLong_As_enum__CUtensorMapIm2ColWideMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cymode = __pyx_t_15;

  /* "cuda/bindings/driver.pyx":44131
 *     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, 44131, __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, 44131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyswizzle = __pyx_t_16;

  /* "cuda/bindings/driver.pyx":44132
 *     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, 44132, __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, 44132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyl2Promotion = __pyx_t_17;

  /* "cuda/bindings/driver.pyx":44133
 *     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, 44133, __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, 44133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyoobFill = __pyx_t_18;

  /* "cuda/bindings/driver.pyx":44134
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44135
 *     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_19 = __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_19 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44135, __pyx_L22_error)
        __pyx_v_err = __pyx_t_19;
      }

      /* "cuda/bindings/driver.pyx":44134
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L23;
        }
        __pyx_L22_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L23:;
      }
  }

  /* "cuda/bindings/driver.pyx":44136
 *     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_8 = PyObject_Length(__pyx_v_globalDim); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44136, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":44137
 *         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":44136
 *     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":44138
 *     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_8 = PyObject_Length(__pyx_v_globalStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44138, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":44139
 *         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":44138
 *     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":44140
 *     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_8 = PyObject_Length(__pyx_v_elementStrides); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44140, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_8 > 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":44141
 *         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":44140
 *     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":44142
 *     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":44143
 *         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, 44143, __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, 44143, __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, 44143, __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(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44143, __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, 44143, __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, 44143, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44142
 *     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":44144
 *     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_9, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44144, __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, 44144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 44144, __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, 44144, __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, 44144, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":43822
 *     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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __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_2generator191);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_5generator192);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_27cuTensorMapEncodeIm2colWide_8generator193);
  __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":44146
 *     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_827cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_826cuTensorMapReplaceAddress, "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_827cuTensorMapReplaceAddress = {"cuTensorMapReplaceAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_827cuTensorMapReplaceAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_826cuTensorMapReplaceAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_827cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#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, 44146, __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, 44146, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44146, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44146, __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, 44146, __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, 44146, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44146, __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, 44146, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 44147, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_826cuTensorMapReplaceAddress(__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_826cuTensorMapReplaceAddress(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;
  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("cuTensorMapReplaceAddress", 0);

  /* "cuda/bindings/driver.pyx":44174
 *     :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":44175
 *     """
 *     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_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_globalAddress};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44175, __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":44176
 *     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, 44176, __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, 44176, __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_6));

  /* "cuda/bindings/driver.pyx":44177
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44178
 *     cdef void* cyglobalAddress_ptr = <void*><void_ptr>cyglobalAddress.cptr
 *     with nogil:
 *         err = cydriver.cuTensorMapReplaceAddress(cytensorMap_ptr, cyglobalAddress_ptr)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuTensorMapReplaceAddress(__pyx_v_cytensorMap_ptr, __pyx_v_cyglobalAddress_ptr); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44178, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44177
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":44179
 *     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, 44179, __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, 44179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __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, 44179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 44179, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44146
 *     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_8);
  __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":44181
 *     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_829cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_828cuDeviceCanAccessPeer, "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_829cuDeviceCanAccessPeer = {"cuDeviceCanAccessPeer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_829cuDeviceCanAccessPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_828cuDeviceCanAccessPeer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_829cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44181, __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, 44181, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44181, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44181, __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, 44181, __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, 44181, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44181, __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, 44181, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_828cuDeviceCanAccessPeer(__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_828cuDeviceCanAccessPeer(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceCanAccessPeer", 0);

  /* "cuda/bindings/driver.pyx":44212
 *     """
 *     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":44213
 *     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":44212
 *     """
 *     cdef cydriver.CUdevice cypeerDev
 *     if peerDev is None:             # <<<<<<<<<<<<<<
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44214
 *     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":44215
 *         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, 44215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerDev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44214
 *     if peerDev is None:
 *         ppeerDev = 0
 *     elif isinstance(peerDev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         ppeerDev = int(peerDev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44217
 *         ppeerDev = int(peerDev)
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))             # <<<<<<<<<<<<<<
 *     cypeerDev = <cydriver.CUdevice>ppeerDev
 *     cdef cydriver.CUdevice cydev
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerDev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44217, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerDev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44218
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))
 *     cypeerDev = <cydriver.CUdevice>ppeerDev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_ppeerDev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44218, __pyx_L1_error)
  __pyx_v_cypeerDev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44220
 *     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":44221
 *     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":44220
 *     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":44222
 *     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":44223
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44223, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44222
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44225
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dev};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44225, __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, 44225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44226
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int canAccessPeer = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44226, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44227
 *         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":44228
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef int canAccessPeer = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44229
 *     cdef int canAccessPeer = 0
 *     with nogil:
 *         err = cydriver.cuDeviceCanAccessPeer(&canAccessPeer, cydev, cypeerDev)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceCanAccessPeer((&__pyx_v_canAccessPeer), __pyx_v_cydev, __pyx_v_cypeerDev); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44229, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44228
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44230
 *     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":44231
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44231, __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, 44231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 44231, __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, 44231, __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, 44231, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44230
 *     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":44232
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44232, __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, 44232, __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, 44232, __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 = __Pyx_PyLong_From_int(__pyx_v_canAccessPeer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44232, __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, 44232, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 44232, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44181
 *     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_7);
  __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":44234
 *     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_831cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_830cuCtxEnablePeerAccess, "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_831cuCtxEnablePeerAccess = {"cuCtxEnablePeerAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_831cuCtxEnablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_830cuCtxEnablePeerAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_831cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44234, __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, 44234, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44234, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44234, __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, 44234, __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, 44234, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44234, __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, 44235, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxEnablePeerAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 44234, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_830cuCtxEnablePeerAccess(__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_830cuCtxEnablePeerAccess(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxEnablePeerAccess", 0);

  /* "cuda/bindings/driver.pyx":44290
 *     """
 *     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":44291
 *     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":44290
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44292
 *     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":44293
 *         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, 44293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44292
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44295
 *         ppeerContext = int(peerContext)
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44295, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44296
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44296, __pyx_L1_error)
  __pyx_v_cypeerContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44297
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44298
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, Flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxEnablePeerAccess(__pyx_v_cypeerContext, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44298, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44297
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44299
 *     with nogil:
 *         err = cydriver.cuCtxEnablePeerAccess(cypeerContext, 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, 44299, __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, 44299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 44299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44299, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44234
 *     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_7);
  __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":44301
 *     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_833cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_832cuCtxDisablePeerAccess, "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_833cuCtxDisablePeerAccess = {"cuCtxDisablePeerAccess", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_833cuCtxDisablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_832cuCtxDisablePeerAccess};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_833cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44301, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 44301, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44301, __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, 44301, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44301, __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, 44301, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_832cuCtxDisablePeerAccess(__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_832cuCtxDisablePeerAccess(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxDisablePeerAccess", 0);

  /* "cuda/bindings/driver.pyx":44327
 *     """
 *     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":44328
 *     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":44327
 *     """
 *     cdef cydriver.CUcontext cypeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44329
 *     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":44330
 *         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, 44330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44329
 *     if peerContext is None:
 *         ppeerContext = 0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44332
 *         ppeerContext = int(peerContext)
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_peerContext};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44332, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44333
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44333, __pyx_L1_error)
  __pyx_v_cypeerContext = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44334
 *         ppeerContext = int(CUcontext(peerContext))
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44335
 *     cypeerContext = <cydriver.CUcontext><void_ptr>ppeerContext
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxDisablePeerAccess(__pyx_v_cypeerContext); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44335, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44334
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44336
 *     with nogil:
 *         err = cydriver.cuCtxDisablePeerAccess(cypeerContext)
 *     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, 44336, __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, 44336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 44336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44336, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44301
 *     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_7);
  __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":44338
 *     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_835cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_834cuDeviceGetP2PAttribute, "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 all\n  CUDA-valid 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\n- :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED`:\n  1 if some CUDA-valid atomic operations over the link are supported.\n  Information about specific operations can be retrieved with\n  :py:obj:`~.cuDeviceGetP2PAtomicCapabilities`.\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:`~.cuD""eviceGetP2PAtomicCapabilities`, :py:obj:`~.cudaDeviceGetP2PAttribute`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_835cuDeviceGetP2PAttribute = {"cuDeviceGetP2PAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_835cuDeviceGetP2PAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_834cuDeviceGetP2PAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_835cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44338, __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, 44338, __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, 44338, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44338, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44338, __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, 44338, __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, 44338, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44338, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44338, __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, 44338, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 44339, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_834cuDeviceGetP2PAttribute(__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_834cuDeviceGetP2PAttribute(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUdevice_P2PAttribute __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("cuDeviceGetP2PAttribute", 0);

  /* "cuda/bindings/driver.pyx":44391
 *     """
 *     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":44392
 *     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":44391
 *     """
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44393
 *     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":44394
 *         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, 44394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44393
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44396
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdevice cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44396, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44397
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *     cydstDevice = <cydriver.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44397, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44399
 *     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":44400
 *     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":44399
 *     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":44401
 *     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":44402
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44401
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44404
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     cdef int value = 0
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44404, __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, 44404, __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_L4:;

  /* "cuda/bindings/driver.pyx":44405
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef int value = 0
 *     cdef cydriver.CUdevice_P2PAttribute cyattrib = attrib.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44405, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44406
 *         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":44407
 *     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_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = ((enum CUdevice_P2PAttribute_enum)__Pyx_PyLong_As_enum__CUdevice_P2PAttribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cyattrib = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":44408
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44409
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetP2PAttribute((&__pyx_v_value), __pyx_v_cyattrib, __pyx_v_cysrcDevice, __pyx_v_cydstDevice); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44409, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":44408
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44410
 *     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":44411
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44411, __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, 44411, __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, 44411, __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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44411, __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, 44411, __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, 44411, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44410
 *     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":44412
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44412, __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, 44412, __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, 44412, __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_8 = __Pyx_PyLong_From_int(__pyx_v_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44412, __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, 44412, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_8);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 44412, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44338
 *     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_8);
  __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":44414
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, srcDevice, dstDevice):
 *     """ Queries details about atomic operations supported between two devices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_837cuDeviceGetP2PAtomicCapabilities(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_836cuDeviceGetP2PAtomicCapabilities, "cuDeviceGetP2PAtomicCapabilities(operations: Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, srcDevice, dstDevice)\n\nQueries details about atomic operations supported between two devices.\n\nReturns in `*capabilities` the details about requested atomic\n`*operations` over the the link between `srcDevice` and `dstDevice`.\nThe allocated size of `*operations` and `*capabilities` must be\n`count`.\n\nFor each :py:obj:`~.CUatomicOperation` in `*operations`, the\ncorresponding result in `*capabilities` will be a bitmask indicating\nwhich of :py:obj:`~.CUatomicOperationCapability` the link supports\nnatively.\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 `*capabilities` or\n`*operations` is NULL, if `count` is 0, or if any of `*operations` is\nnot valid.\n\nParameters\n----------\noperations : list[:py:obj:`~.CUatomicOperation`]\n    Requested operations\ncount : unsigned int\n    Count of requested operations and size of capabilities\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_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\ncapabilities : list[unsigned int]\n    Returned capability details of each requested operation\n\nSee Also\n--------\n:py:obj:`~.cuDeviceGetP2PAttribute`, :py:obj:`~.cudaDeviceGetP2PAttribute`, :py:obj:`~.cudaDeviceGetP2PAtomicCapabilities`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_837cuDeviceGetP2PAtomicCapabilities = {"cuDeviceGetP2PAtomicCapabilities", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_837cuDeviceGetP2PAtomicCapabilities, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_836cuDeviceGetP2PAtomicCapabilities};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_837cuDeviceGetP2PAtomicCapabilities(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_operations = 0;
  unsigned int __pyx_v_count;
  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[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("cuDeviceGetP2PAtomicCapabilities (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_operations,&__pyx_mstate_global->__pyx_n_u_count_2,&__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, 44414, __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, 44414, __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, 44414, __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, 44414, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44414, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDeviceGetP2PAtomicCapabilities", 0) < (0)) __PYX_ERR(0, 44414, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAtomicCapabilities", 1, 4, 4, i); __PYX_ERR(0, 44414, __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, 44414, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44414, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44414, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 44414, __pyx_L3_error)
    }
    __pyx_v_operations = 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, 44415, __pyx_L3_error)
    __pyx_v_srcDevice = values[2];
    __pyx_v_dstDevice = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAtomicCapabilities", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 44414, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetP2PAtomicCapabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_836cuDeviceGetP2PAtomicCapabilities(__pyx_self, __pyx_v_operations, __pyx_v_count, __pyx_v_srcDevice, __pyx_v_dstDevice);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_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_32cuDeviceGetP2PAtomicCapabilities_2generator194(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":44474
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_32cuDeviceGetP2PAtomicCapabilities_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_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_194_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_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_194_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 44474, __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_32cuDeviceGetP2PAtomicCapabilities_2generator194, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[194]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_cuDeviceGetP2PAtomicCapabilities, __pyx_mstate_global->__pyx_n_u_cuda_bindings_driver); if (unlikely(!gen)) __PYX_ERR(0, 44474, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetP2PAtomicCapabilities.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_32cuDeviceGetP2PAtomicCapabilities_2generator194(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_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, 44474, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 44474, __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, 44474, __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, 44474, __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, 44474, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 44474, __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, 44474, __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, 44474, __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_CUatomicOperation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44474, __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, 44474, __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":44414
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, srcDevice, dstDevice):
 *     """ Queries details about atomic operations supported between two devices.
*/

static PyObject *__pyx_pf_4cuda_8bindings_6driver_836cuDeviceGetP2PAtomicCapabilities(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_operations, unsigned int __pyx_v_count, 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;
  unsigned int *__pyx_v_cycapabilities;
  PyObject *__pyx_v_pycapabilities = NULL;
  std::vector<CUatomicOperation>  __pyx_v_cyoperations;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_8bindings_6driver_32cuDeviceGetP2PAtomicCapabilities_2generator194 = 0;
  PyObject *__pyx_10genexpr359__pyx_v_pyoperations = NULL;
  unsigned int __pyx_10genexpr360__pyx_v_idx;
  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;
  CUdevice __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  std::vector<CUatomicOperation>  __pyx_t_12;
  CUresult __pyx_t_13;
  unsigned int __pyx_t_14;
  unsigned int __pyx_t_15;
  unsigned int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDeviceGetP2PAtomicCapabilities", 0);
  __Pyx_INCREF(__pyx_v_operations);

  /* "cuda/bindings/driver.pyx":44458
 *     """
 *     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":44459
 *     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":44458
 *     """
 *     cdef cydriver.CUdevice cydstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44460
 *     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":44461
 *         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, 44461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44460
 *     if dstDevice is None:
 *         pdstDevice = 0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44463
 *         pdstDevice = int(dstDevice)
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *     cydstDevice = <cydriver.CUdevice>pdstDevice
 *     cdef cydriver.CUdevice cysrcDevice
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dstDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44463, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44464
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *     cydstDevice = <cydriver.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice cysrcDevice
 *     if srcDevice is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44464, __pyx_L1_error)
  __pyx_v_cydstDevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44466
 *     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":44467
 *     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":44466
 *     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":44468
 *     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":44469
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcDevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44468
 *     if srcDevice is None:
 *         psrcDevice = 0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":44471
 *         psrcDevice = int(srcDevice)
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))             # <<<<<<<<<<<<<<
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_srcDevice};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44471, __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, 44471, __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_L4:;

  /* "cuda/bindings/driver.pyx":44472
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice             # <<<<<<<<<<<<<<
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_psrcDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 44472, __pyx_L1_error)
  __pyx_v_cysrcDevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":44473
 *         psrcDevice = int(CUdevice(srcDevice))
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
*/
  __pyx_t_1 = (__pyx_v_operations == Py_None);
  if (__pyx_t_1) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_operations);
    __pyx_t_2 = __pyx_v_operations;
  }
  __Pyx_DECREF_SET(__pyx_v_operations, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":44474
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
  __pyx_t_2 = __pyx_pf_4cuda_8bindings_6driver_32cuDeviceGetP2PAtomicCapabilities_genexpr(NULL, __pyx_v_operations); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44474, __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, 44474, __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, 44474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = (!__pyx_t_1);
  if (unlikely(__pyx_t_6)) {

    /* "cuda/bindings/driver.pyx":44475
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")             # <<<<<<<<<<<<<<
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Argument_operations_is_not_insta};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44475, __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, 44475, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":44474
 *     cysrcDevice = <cydriver.CUdevice>psrcDevice
 *     operations = [] if operations is None else operations
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
*/
  }

  /* "cuda/bindings/driver.pyx":44476
 *     if not all(isinstance(_x, (CUatomicOperation)) for _x in operations):
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL             # <<<<<<<<<<<<<<
 *     pycapabilities = []
 *     if count != 0:
*/
  __pyx_v_cycapabilities = NULL;

  /* "cuda/bindings/driver.pyx":44477
 *         raise TypeError("Argument 'operations' is not instance of type (expected tuple[cydriver.CUatomicOperation] or list[cydriver.CUatomicOperation]")
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []             # <<<<<<<<<<<<<<
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
*/
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pycapabilities = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":44478
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
 *     if count != 0:             # <<<<<<<<<<<<<<
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
*/
  __pyx_t_6 = (__pyx_v_count != 0);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":44479
 *     pycapabilities = []
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))             # <<<<<<<<<<<<<<
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
*/
    __pyx_v_cycapabilities = ((unsigned int *)calloc(__pyx_v_count, (sizeof(unsigned int))));

    /* "cuda/bindings/driver.pyx":44480
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
*/
    __pyx_t_6 = (__pyx_v_cycapabilities == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/bindings/driver.pyx":44481
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))             # <<<<<<<<<<<<<<
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
*/
      __pyx_t_2 = NULL;
      __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44481, __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, 44481, __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, 44481, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44481, __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(unsigned int))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44481, __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, 44481, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44481, __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_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44481, __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, 44481, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":44480
 *     if count != 0:
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
*/
    }

    /* "cuda/bindings/driver.pyx":44478
 *     cdef unsigned int* cycapabilities = NULL
 *     pycapabilities = []
 *     if count != 0:             # <<<<<<<<<<<<<<
 *         cycapabilities = <unsigned int*>calloc(count, sizeof(unsigned int))
 *         if cycapabilities is NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":44482
 *         if cycapabilities is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]             # <<<<<<<<<<<<<<
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:
*/
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44482, __pyx_L10_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_operations)) || PyTuple_CheckExact(__pyx_v_operations)) {
      __pyx_t_7 = __pyx_v_operations; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_10 = 0;
      __pyx_t_11 = NULL;
    } else {
      __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_operations); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44482, __pyx_L10_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 44482, __pyx_L10_error)
    }
    for (;;) {
      if (likely(!__pyx_t_11)) {
        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(0, 44482, __pyx_L10_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_7, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_10;
        } 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(0, 44482, __pyx_L10_error)
            #endif
            if (__pyx_t_10 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10);
          #endif
          ++__pyx_t_10;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44482, __pyx_L10_error)
      } else {
        __pyx_t_2 = __pyx_t_11(__pyx_t_7);
        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, 44482, __pyx_L10_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_10genexpr359__pyx_v_pyoperations, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr359__pyx_v_pyoperations, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44482, __pyx_L10_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 44482, __pyx_L10_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr359__pyx_v_pyoperations); __pyx_10genexpr359__pyx_v_pyoperations = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L10_error:;
    __Pyx_XDECREF(__pyx_10genexpr359__pyx_v_pyoperations); __pyx_10genexpr359__pyx_v_pyoperations = 0;
    goto __pyx_L1_error;
    __pyx_L14_exit_scope:;
  } /* exit inner scope */
  __pyx_t_12 = __pyx_convert_vector_from_py_CUatomicOperation(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cyoperations = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_12);

  /* "cuda/bindings/driver.pyx":44483
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(count) + 'x' + str(sizeof(unsigned int)))
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
*/
  __pyx_t_10 = PyObject_Length(__pyx_v_operations); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44483, __pyx_L1_error)
  __pyx_t_6 = (__pyx_v_count > __pyx_t_10);
  if (unlikely(__pyx_t_6)) {
    __pyx_t_7 = NULL;
    __pyx_t_10 = PyObject_Length(__pyx_v_operations); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44483, __pyx_L1_error)
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44483, __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, 44483, __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_List_is_too_small, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44483, __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, 44483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44483, __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_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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, 44483, __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, 44483, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":44484
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44485
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
*/
        __pyx_t_13 = __pyx_f_4cuda_8bindings_8cydriver_cuDeviceGetP2PAtomicCapabilities(__pyx_v_cycapabilities, __pyx_v_cyoperations.data(), __pyx_v_count, __pyx_v_cysrcDevice, __pyx_v_cydstDevice); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44485, __pyx_L17_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":44484
 *     cdef vector[cydriver.CUatomicOperation] cyoperations = [pyoperations.value for pyoperations in (operations)]
 *     if count > len(operations): raise RuntimeError("List is too small: " + str(len(operations)) + " < " + str(count))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L18;
        }
        __pyx_L17_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L18:;
      }
  }

  /* "cuda/bindings/driver.pyx":44486
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44486, __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, 44486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __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_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __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_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 44486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":44487
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]             # <<<<<<<<<<<<<<
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
*/
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_14 = __pyx_v_count;
      __pyx_t_15 = __pyx_t_14;
      for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
        __pyx_10genexpr360__pyx_v_idx = __pyx_t_16;
        __pyx_t_7 = __Pyx_PyLong_From_unsigned_int(((unsigned int)(__pyx_v_cycapabilities[__pyx_10genexpr360__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44487, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 44487, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pycapabilities, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44486
 *     with nogil:
 *         err = cydriver.cuDeviceGetP2PAtomicCapabilities(cycapabilities, cyoperations.data(), count, cysrcDevice, cydstDevice)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:
*/
  }

  /* "cuda/bindings/driver.pyx":44488
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:             # <<<<<<<<<<<<<<
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  __pyx_t_6 = (__pyx_v_cycapabilities != NULL);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":44489
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
    free(__pyx_v_cycapabilities);

    /* "cuda/bindings/driver.pyx":44488
 *     if CUresult(err) == CUresult(0):
 *         pycapabilities = [<unsigned int>cycapabilities[idx] for idx in range(count)]
 *     if cycapabilities is not NULL:             # <<<<<<<<<<<<<<
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  }

  /* "cuda/bindings/driver.pyx":44490
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)
*/
  __pyx_t_6 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_6) {

    /* "cuda/bindings/driver.pyx":44491
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pycapabilities)
 * 
*/
    __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, 44491, __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, 44491, __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, 44491, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44491, __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, 44491, __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, 44491, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44490
 *     if cycapabilities is not NULL:
 *         free(cycapabilities)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)
*/
  }

  /* "cuda/bindings/driver.pyx":44492
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pycapabilities)             # <<<<<<<<<<<<<<
 * 
 * @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, 44492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44492, __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, 44492, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pycapabilities);
  __Pyx_GIVEREF(__pyx_v_pycapabilities);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_pycapabilities) != (0)) __PYX_ERR(0, 44492, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44414
 *     return (_dict_CUresult[err], value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAtomicCapabilities(operations : Optional[tuple[CUatomicOperation] | list[CUatomicOperation]], unsigned int count, srcDevice, dstDevice):
 *     """ Queries details about atomic operations supported between two devices.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDeviceGetP2PAtomicCapabilities", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_pycapabilities);
  __Pyx_XDECREF(__pyx_gb_4cuda_8bindings_6driver_32cuDeviceGetP2PAtomicCapabilities_2generator194);
  __Pyx_XDECREF(__pyx_10genexpr359__pyx_v_pyoperations);
  __Pyx_XDECREF(__pyx_v_operations);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":44494
 *     return (_dict_CUresult[err], pycapabilities)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_838cuGraphicsUnregisterResource, "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_839cuGraphicsUnregisterResource = {"cuGraphicsUnregisterResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsUnregisterResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_838cuGraphicsUnregisterResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_839cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44494, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 44494, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44494, __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, 44494, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44494, __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, 44494, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_838cuGraphicsUnregisterResource(__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_838cuGraphicsUnregisterResource(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsUnregisterResource", 0);

  /* "cuda/bindings/driver.pyx":44519
 *     """
 *     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":44520
 *     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":44519
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44521
 *     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":44522
 *         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, 44522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44521
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44524
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44524, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44525
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44525, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44526
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44527
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnregisterResource(__pyx_v_cyresource); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44527, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44526
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44528
 *     with nogil:
 *         err = cydriver.cuGraphicsUnregisterResource(cyresource)
 *     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, 44528, __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, 44528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 44528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44528, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44494
 *     return (_dict_CUresult[err], pycapabilities)
 * 
 * @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_7);
  __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":44530
 *     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_841cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_840cuGraphicsSubResourceGetMappedArray, "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_841cuGraphicsSubResourceGetMappedArray = {"cuGraphicsSubResourceGetMappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_841cuGraphicsSubResourceGetMappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_840cuGraphicsSubResourceGetMappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_841cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44530, __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, 44530, __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, 44530, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44530, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44530, __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, 44530, __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, 44530, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44530, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44530, __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, 44531, __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, 44531, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44530, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_840cuGraphicsSubResourceGetMappedArray(__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_840cuGraphicsSubResourceGetMappedArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsSubResourceGetMappedArray", 0);

  /* "cuda/bindings/driver.pyx":44571
 *     """
 *     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":44572
 *     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":44571
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44573
 *     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":44574
 *         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, 44574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44573
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44576
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44576, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44577
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUarray pArray = CUarray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44577, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44578
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44578, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUarray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":44579
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44580
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44580, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44579
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44581
 *     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":44582
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44582, __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, 44582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 44582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44582, __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, 44582, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44581
 *     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":44583
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44583, __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, 44583, __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, 44583, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44583, __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, 44583, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pArray)) != (0)) __PYX_ERR(0, 44583, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44530
 *     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_7);
  __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":44585
 *     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_843cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_842cuGraphicsResourceGetMappedMipmappedArray, "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_843cuGraphicsResourceGetMappedMipmappedArray = {"cuGraphicsResourceGetMappedMipmappedArray", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_843cuGraphicsResourceGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_842cuGraphicsResourceGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_843cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44585, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 44585, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44585, __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, 44585, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44585, __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, 44585, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_842cuGraphicsResourceGetMappedMipmappedArray(__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_842cuGraphicsResourceGetMappedMipmappedArray(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedMipmappedArray", 0);

  /* "cuda/bindings/driver.pyx":44615
 *     """
 *     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":44616
 *     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":44615
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44617
 *     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":44618
 *         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, 44618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44617
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44620
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44620, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44621
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44621, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44622
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44622, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pMipmappedArray = ((struct __pyx_obj_4cuda_8bindings_6driver_CUmipmappedArray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":44623
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44624
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_pMipmappedArray->_pvt_ptr), __pyx_v_cyresource); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44624, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44623
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44625
 *     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":44626
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44626, __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, 44626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 44626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44626, __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, 44626, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44625
 *     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":44627
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44627, __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, 44627, __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, 44627, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44627, __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, 44627, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pMipmappedArray)) != (0)) __PYX_ERR(0, 44627, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44585
 *     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_7);
  __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":44629
 *     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_845cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_844cuGraphicsResourceGetMappedPointer, "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_845cuGraphicsResourceGetMappedPointer = {"cuGraphicsResourceGetMappedPointer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_845cuGraphicsResourceGetMappedPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_844cuGraphicsResourceGetMappedPointer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_845cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44629, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 44629, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44629, __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, 44629, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44629, __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, 44629, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_844cuGraphicsResourceGetMappedPointer(__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_844cuGraphicsResourceGetMappedPointer(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedPointer", 0);

  /* "cuda/bindings/driver.pyx":44658
 *     """
 *     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":44659
 *     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":44658
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44660
 *     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":44661
 *         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, 44661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44660
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44663
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44663, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44664
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44664, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44665
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44665, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pDevPtr = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdeviceptr *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":44666
 *     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":44667
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44668
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceGetMappedPointer(((CUdeviceptr *)__pyx_v_pDevPtr->_pvt_ptr), (&__pyx_v_pSize), __pyx_v_cyresource); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44668, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44667
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44669
 *     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":44670
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44670, __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, 44670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44670, __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, 44670, __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, 44670, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44669
 *     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":44671
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44671, __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, 44671, __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, 44671, __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 = __Pyx_PyLong_FromSize_t(__pyx_v_pSize); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44671, __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, 44671, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pDevPtr)) != (0)) __PYX_ERR(0, 44671, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(0, 44671, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44629
 *     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_7);
  __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":44673
 *     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_847cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_846cuGraphicsResourceSetMapFlags, "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_847cuGraphicsResourceSetMapFlags = {"cuGraphicsResourceSetMapFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_847cuGraphicsResourceSetMapFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_846cuGraphicsResourceSetMapFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_847cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44673, __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, 44673, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44673, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44673, __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, 44673, __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, 44673, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44673, __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, 44674, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceSetMapFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 44673, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_846cuGraphicsResourceSetMapFlags(__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_846cuGraphicsResourceSetMapFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceSetMapFlags", 0);

  /* "cuda/bindings/driver.pyx":44718
 *     """
 *     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":44719
 *     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":44718
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44720
 *     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":44721
 *         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, 44721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44720
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44723
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44723, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44724
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44724, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44725
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44726
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, flags)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsResourceSetMapFlags(__pyx_v_cyresource, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44726, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44725
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44727
 *     with nogil:
 *         err = cydriver.cuGraphicsResourceSetMapFlags(cyresource, 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, 44727, __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, 44727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 44727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44727, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44673
 *     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_7);
  __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":44729
 *     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_849cuGraphicsMapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_848cuGraphicsMapResources, "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_849cuGraphicsMapResources = {"cuGraphicsMapResources", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_849cuGraphicsMapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_848cuGraphicsMapResources};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_849cuGraphicsMapResources(PyObject *__pyx_self, 
#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, 44729, __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, 44729, __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, 44729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44729, __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, 44729, __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, 44729, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44729, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44729, __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, 44730, __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, 44729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_848cuGraphicsMapResources(__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_848cuGraphicsMapResources(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;
  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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsMapResources", 0);

  /* "cuda/bindings/driver.pyx":44768
 *     """
 *     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":44769
 *     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":44768
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44770
 *     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":44771
 *         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, 44771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44770
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44773
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44773, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44774
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44774, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44776
 *     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":44777
 *     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":44776
 *     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":44778
 *     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":44779
 *         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_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_3)) __PYX_ERR(0, 44779, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_v_presources = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44780
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44780, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":44778
 *     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":44781
 *         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":44782
 *         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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44782, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":44781
 *         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":44784
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44784, __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, 44784, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44785
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44786
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsMapResources(__pyx_v_count, __pyx_v_cyresources, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44786, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44785
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44787
 *     with nogil:
 *         err = cydriver.cuGraphicsMapResources(count, cyresources, 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, 44787, __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, 44787, __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, 44787, __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(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44787, __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, 44787, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44729
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":44789
 *     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_851cuGraphicsUnmapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_850cuGraphicsUnmapResources, "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_851cuGraphicsUnmapResources = {"cuGraphicsUnmapResources", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_851cuGraphicsUnmapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_850cuGraphicsUnmapResources};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_851cuGraphicsUnmapResources(PyObject *__pyx_self, 
#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, 44789, __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, 44789, __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, 44789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44789, __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, 44789, __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, 44789, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44789, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44789, __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, 44790, __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, 44789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_850cuGraphicsUnmapResources(__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_850cuGraphicsUnmapResources(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;
  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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsUnmapResources", 0);

  /* "cuda/bindings/driver.pyx":44826
 *     """
 *     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":44827
 *     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":44826
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44828
 *     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":44829
 *         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, 44829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44828
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44831
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef cydriver.CUgraphicsResource *cyresources
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44831, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44832
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgraphicsResource *cyresources
 *     if resources is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44832, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44834
 *     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":44835
 *     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":44834
 *     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":44836
 *     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":44837
 *         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_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_3)) __PYX_ERR(0, 44837, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_v_presources = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":44838
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44838, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":44836
 *     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":44839
 *         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":44840
 *         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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44840, __pyx_L1_error)
    __pyx_v_cyresources = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":44839
 *         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":44842
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44842, __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, 44842, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":44843
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44844
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsUnmapResources(__pyx_v_count, __pyx_v_cyresources, __pyx_v_cyhStream); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44844, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":44843
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":44845
 *     with nogil:
 *         err = cydriver.cuGraphicsUnmapResources(count, cyresources, 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, 44845, __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, 44845, __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, 44845, __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(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44845, __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, 44845, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44789
 *     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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __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":44847
 *     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_853cuGetProcAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_852cuGetProcAddress, "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. If the\nspecified CUDA version is greater than the driver version, the API will\nreturn :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\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_DEF""AULT_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:`~.cudaGetDriverEntryPointByVersion`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_853cuGetProcAddress = {"cuGetProcAddress", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_853cuGetProcAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_852cuGetProcAddress};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_853cuGetProcAddress(PyObject *__pyx_self, 
#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, 44847, __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, 44847, __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, 44847, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44847, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44847, __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, 44847, __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, 44847, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 44847, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 44847, __pyx_L3_error)
    }
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(0, 44848, __pyx_L3_error)
    __pyx_v_cudaVersion = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_cudaVersion == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 44848, __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, 44847, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_852cuGetProcAddress(__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_852cuGetProcAddress(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __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("cuGetProcAddress", 0);

  /* "cuda/bindings/driver.pyx":44935
 *     """
 *     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":44936
 *     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":44935
 *     """
 *     cdef cydriver.cuuint64_t cyflags
 *     if flags is None:             # <<<<<<<<<<<<<<
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44937
 *     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":44938
 *         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, 44938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":44937
 *     if flags is None:
 *         pflags = 0
 *     elif isinstance(flags, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pflags = int(flags)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":44940
 *         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_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_flags};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44940, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pflags = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":44941
 *     else:
 *         pflags = int(cuuint64_t(flags))
 *     cyflags = <cydriver.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *     cdef void_ptr pfn = 0
 *     cdef cydriver.CUdriverProcAddressQueryResult symbolStatus
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 44941, __pyx_L1_error)
  __pyx_v_cyflags = ((cuuint64_t)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":44942
 *         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":44944
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":44945
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 44945, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":44944
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":44946
 *     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":44947
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44947, __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, 44947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 44947, __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, 44947, __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, 44947, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":44946
 *     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":44948
 *     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, 44948, __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, 44948, __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, 44948, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_CUdriverProcAddressQueryResult); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44948, __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, 44948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 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_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __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_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44948, __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, 44948, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 44948, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_2) != (0)) __PYX_ERR(0, 44948, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44847
 *     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_7);
  __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":44950
 *     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_855cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_854cuCoredumpGetAttribute, "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_855cuCoredumpGetAttribute = {"cuCoredumpGetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_855cuCoredumpGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_854cuCoredumpGetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_855cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 44950, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 44950, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 44950, __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, 44950, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 44950, __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, 44950, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 44951, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_854cuCoredumpGetAttribute(__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_854cuCoredumpGetAttribute(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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuCoredumpGetAttribute", 0);

  /* "cuda/bindings/driver.pyx":45057
 *     :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, 45057, __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, 45057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":45058
 *     """
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 45058, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __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, 45058, __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":45059
 *     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, 45059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45059, __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_6));

  /* "cuda/bindings/driver.pyx":45060
 *     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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":45061
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45062
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttribute(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45062, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45061
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45063
 *     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_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45064
 *         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, 45064, __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, 45064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __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, 45064, __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, 45064, __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, 45064, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45063
 *     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":45065
 *     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_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45065, __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, 45065, __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, 45065, __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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45065, __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, 45065, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 45065, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":44950
 *     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_5);
  __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":45067
 *     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_857cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_856cuCoredumpGetAttributeGlobal, "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_857cuCoredumpGetAttributeGlobal = {"cuCoredumpGetAttributeGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_857cuCoredumpGetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_856cuCoredumpGetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_857cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45067, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 45067, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45067, __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, 45067, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45067, __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, 45067, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45068, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_856cuCoredumpGetAttributeGlobal(__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_856cuCoredumpGetAttributeGlobal(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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __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("cuCoredumpGetAttributeGlobal", 0);

  /* "cuda/bindings/driver.pyx":45170
 *     :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, 45170, __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, 45170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":45171
 *     """
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_True, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 45171, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __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, 45171, __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":45172
 *     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, 45172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45172, __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_6));

  /* "cuda/bindings/driver.pyx":45173
 *     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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":45174
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45175
 *     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_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpGetAttributeGlobal(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45175, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45174
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45176
 *     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_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45177
 *         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, 45177, __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, 45177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __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, 45177, __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, 45177, __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, 45177, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45176
 *     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":45178
 *     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_5, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45178, __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, 45178, __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, 45178, __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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pyObj, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45178, __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, 45178, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 45178, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45067
 *     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_5);
  __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":45180
 *     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_859cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_858cuCoredumpSetAttribute, "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_859cuCoredumpSetAttribute = {"cuCoredumpSetAttribute", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_859cuCoredumpSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_858cuCoredumpSetAttribute};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_859cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45180, __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, 45180, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45180, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45180, __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, 45180, __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, 45180, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45180, __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, 45180, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45181, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_858cuCoredumpSetAttribute(__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_858cuCoredumpSetAttribute(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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __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("cuCoredumpSetAttribute", 0);

  /* "cuda/bindings/driver.pyx":45290
 *     :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, 45290, __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, 45290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":45291
 *     """
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_v_value};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 45291, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __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, 45291, __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":45292
 *     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, 45292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45292, __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_6));

  /* "cuda/bindings/driver.pyx":45293
 *     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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":45294
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45295
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttribute(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttribute(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45295, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45294
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45296
 *     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, 45296, __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, 45296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 45296, __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, 45296, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45180
 *     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_5);
  __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":45298
 *     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_861cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_860cuCoredumpSetAttributeGlobal, "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_861cuCoredumpSetAttributeGlobal = {"cuCoredumpSetAttributeGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_861cuCoredumpSetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_860cuCoredumpSetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_861cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45298, __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, 45298, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45298, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45298, __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, 45298, __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, 45298, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45298, __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, 45298, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45299, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_860cuCoredumpSetAttributeGlobal(__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_860cuCoredumpSetAttributeGlobal(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;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __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("cuCoredumpSetAttributeGlobal", 0);

  /* "cuda/bindings/driver.pyx":45413
 *     :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, 45413, __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, 45413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cyattrib = __pyx_t_2;

  /* "cuda/bindings/driver.pyx":45414
 *     """
 *     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_t_4 = 1;
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_attrib, __pyx_v_value};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_is_getter, Py_False, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(0, 45414, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __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, 45414, __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":45415
 *     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, 45415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45415, __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_6));

  /* "cuda/bindings/driver.pyx":45416
 *     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_5 = ((PyObject *)__pyx_v_cyvalue);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_size_2, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 45416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_4;

  /* "cuda/bindings/driver.pyx":45417
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45418
 *     cdef size_t size = cyvalue.size()
 *     with nogil:
 *         err = cydriver.cuCoredumpSetAttributeGlobal(cyattrib, cyvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuCoredumpSetAttributeGlobal(__pyx_v_cyattrib, __pyx_v_cyvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45418, __pyx_L4_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45417
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45419
 *     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, 45419, __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, 45419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 45419, __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, 45419, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45298
 *     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_5);
  __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":45421
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_863cuGetExportTable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_862cuGetExportTable, "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_863cuGetExportTable = {"cuGetExportTable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_863cuGetExportTable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_862cuGetExportTable};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_863cuGetExportTable(PyObject *__pyx_self, 
#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, 45421, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 45421, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45421, __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, 45421, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45421, __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, 45421, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45422, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_862cuGetExportTable(__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_862cuGetExportTable(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":45437
 *         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":45438
 *     """
 *     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":45439
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45440
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45440, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":45439
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":45441
 *     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":45442
 *         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, 45442, __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, 45442, __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, 45442, __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, 45442, __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, 45442, __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, 45442, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45441
 *     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":45443
 *     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, 45443, __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, 45443, __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, 45443, __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, 45443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45443, __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, 45443, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6) != (0)) __PYX_ERR(0, 45443, __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":45421
 *     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":45445
 *     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_865cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_864cuGreenCtxCreate, "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`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_865cuGreenCtxCreate = {"cuGreenCtxCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_865cuGreenCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_864cuGreenCtxCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_865cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45445, __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, 45445, __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, 45445, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45445, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45445, __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, 45445, __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, 45445, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45445, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45445, __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, 45446, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 45445, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_864cuGreenCtxCreate(__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_864cuGreenCtxCreate(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;
  size_t __pyx_t_4;
  CUdevice __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("cuGreenCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":45496
 *     """
 *     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":45497
 *     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":45496
 *     """
 *     cdef cydriver.CUdevice cydev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45498
 *     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":45499
 *         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, 45499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45498
 *     if dev is None:
 *         pdev = 0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45501
 *         pdev = int(dev)
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *     cydev = <cydriver.CUdevice>pdev
 *     cdef cydriver.CUdevResourceDesc cydesc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_dev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45501, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45502
 *     else:
 *         pdev = int(CUdevice(dev))
 *     cydev = <cydriver.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceDesc cydesc
 *     if desc is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 45502, __pyx_L1_error)
  __pyx_v_cydev = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":45504
 *     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":45505
 *     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":45504
 *     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":45506
 *     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":45507
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)             # <<<<<<<<<<<<<<
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_desc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdesc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":45506
 *     if desc is None:
 *         pdesc = 0
 *     elif isinstance(desc, (CUdevResourceDesc,)):             # <<<<<<<<<<<<<<
 *         pdesc = int(desc)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":45509
 *         pdesc = int(desc)
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))             # <<<<<<<<<<<<<<
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_desc};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45509, __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, 45509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdesc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":45510
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
 *     cydesc = <cydriver.CUdevResourceDesc><void_ptr>pdesc             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
*/
  __pyx_t_6 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pdesc); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45510, __pyx_L1_error)
  __pyx_v_cydesc = ((CUdevResourceDesc)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_6));

  /* "cuda/bindings/driver.pyx":45511
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45511, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_phCtx = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgreenCtx *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":45512
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45513
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45513, __pyx_L6_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45512
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":45514
 *     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":45515
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45515, __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, 45515, __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, 45515, __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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45515, __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, 45515, __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, 45515, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45514
 *     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":45516
 *     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, 45516, __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, 45516, __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, 45516, __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_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 45516, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_phCtx)) != (0)) __PYX_ERR(0, 45516, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45445
 *     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_8);
  __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":45518
 *     return (_dict_CUresult[err], phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_867cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_866cuGreenCtxDestroy, "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. The API does not destroy streams\ncreated via :py:obj:`~.cuGreenCtxStreamCreate`,\n:py:obj:`~.cuStreamCreate`, or :py:obj:`~.cuStreamCreateWithPriority`.\nUsers are expected to destroy these streams explicitly using\n:py:obj:`~.cuStreamDestroy` to avoid resource leaks. Once the green\ncontext is destroyed, any subsequent API calls involving these streams\nwill return :py:obj:`~.CUDA_ERROR_STREAM_DETACHED` with the exception\nof the following APIs:\n\n- :py:obj:`~.cuStreamDestroy`.\n\nAdditionally, the API will invalidate all active captures on these\nstreams.\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_867cuGreenCtxDestroy = {"cuGreenCtxDestroy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_867cuGreenCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_866cuGreenCtxDestroy};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_867cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45518, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 45518, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45518, __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, 45518, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45518, __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, 45518, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_866cuGreenCtxDestroy(__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_866cuGreenCtxDestroy(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxDestroy", 0);

  /* "cuda/bindings/driver.pyx":45554
 *     """
 *     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":45555
 *     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":45554
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45556
 *     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":45557
 *         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, 45557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45556
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45559
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45559, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45560
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45560, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":45561
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45562
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxDestroy(__pyx_v_cyhCtx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45562, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":45561
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45563
 *     with nogil:
 *         err = cydriver.cuGreenCtxDestroy(cyhCtx)
 *     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, 45563, __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, 45563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 45563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 45563, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45518
 *     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_7);
  __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":45565
 *     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_869cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_868cuCtxFromGreenCtx, "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_869cuCtxFromGreenCtx = {"cuCtxFromGreenCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_869cuCtxFromGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_868cuCtxFromGreenCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_869cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45565, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 45565, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45565, __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, 45565, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45565, __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, 45565, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_868cuCtxFromGreenCtx(__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_868cuCtxFromGreenCtx(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuCtxFromGreenCtx", 0);

  /* "cuda/bindings/driver.pyx":45597
 *     """
 *     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":45598
 *     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":45597
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45599
 *     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":45600
 *         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, 45600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45599
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45602
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45602, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45603
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUcontext pContext = CUcontext()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45603, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":45604
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45604, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_pContext = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcontext *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45605
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45606
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuCtxFromGreenCtx(((CUcontext *)__pyx_v_pContext->_pvt_ptr), __pyx_v_cyhCtx); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45606, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":45605
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45607
 *     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":45608
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45608, __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, 45608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 45608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 45608, __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, 45608, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45607
 *     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":45609
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45609, __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, 45609, __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, 45609, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45609, __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, 45609, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pContext);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pContext);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pContext)) != (0)) __PYX_ERR(0, 45609, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45565
 *     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_7);
  __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":45611
 *     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_871cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_870cuDeviceGetDevResource, "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_871cuDeviceGetDevResource = {"cuDeviceGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_871cuDeviceGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_870cuDeviceGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_871cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_2,&__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, 45611, __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, 45611, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45611, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45611, __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, 45611, __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, 45611, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45611, __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, 45611, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45612, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_870cuDeviceGetDevResource(__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_870cuDeviceGetDevResource(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;
  size_t __pyx_t_4;
  CUdevice __pyx_t_5;
  CUdevResourceType __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("cuDeviceGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45640
 *     """
 *     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":45641
 *     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":45640
 *     """
 *     cdef cydriver.CUdevice cydevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45642
 *     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":45643
 *         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, 45643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45642
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45645
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_device};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45645, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45646
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 45646, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_5);

  /* "cuda/bindings/driver.pyx":45647
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45647, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45648
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":45649
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45650
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45650, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45649
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45651
 *     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":45652
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45652, __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, 45652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 45652, __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, 45652, __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, 45652, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45651
 *     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":45653
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45653, __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, 45653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 45653, __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, 45653, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45653, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45611
 *     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_8);
  __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":45655
 *     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_873cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_872cuCtxGetDevResource, "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_873cuCtxGetDevResource = {"cuCtxGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_873cuCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_872cuCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_873cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45655, __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, 45655, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45655, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45655, __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, 45655, __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, 45655, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45655, __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, 45655, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45656, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_872cuCtxGetDevResource(__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_872cuCtxGetDevResource(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUdevResourceType __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("cuCtxGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45681
 *     """
 *     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":45682
 *     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":45681
 *     """
 *     cdef cydriver.CUcontext cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45683
 *     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":45684
 *         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, 45684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45683
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45686
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45686, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45687
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *     cyhCtx = <cydriver.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45687, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUcontext)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":45688
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45688, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45689
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":45690
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45691
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45691, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45690
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45692
 *     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":45693
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45693, __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, 45693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 45693, __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, 45693, __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, 45693, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45692
 *     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":45694
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45694, __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, 45694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 45694, __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, 45694, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45694, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45655
 *     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_8);
  __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":45696
 *     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_875cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_874cuGreenCtxGetDevResource, "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_875cuGreenCtxGetDevResource = {"cuGreenCtxGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_875cuGreenCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_874cuGreenCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_875cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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, 45696, __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, 45696, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45696, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45696, __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, 45696, __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, 45696, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45696, __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, 45696, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45697, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_874cuGreenCtxGetDevResource(__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_874cuGreenCtxGetDevResource(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUdevResourceType __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("cuGreenCtxGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":45722
 *     """
 *     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":45723
 *     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":45722
 *     """
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45724
 *     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":45725
 *         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, 45725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":45724
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":45727
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45727, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":45728
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 45728, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":45729
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45729, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":45730
 *     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_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":45731
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45732
 *     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_7 = __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_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45732, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":45731
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":45733
 *     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":45734
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45734, __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, 45734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 45734, __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, 45734, __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, 45734, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45733
 *     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":45735
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45735, __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, 45735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 45735, __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, 45735, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 45735, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45696
 *     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_8);
  __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":45737
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int flags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_877cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_876cuDevSmResourceSplitByCount, "cuDevSmResourceSplitByCount(unsigned int nbGroups, CUdevResource input_: Optional[CUdevResource], unsigned int flags, 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`flags`. 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. These\nrequirements can be queried with :py:obj:`~.cuDeviceGetDevResource`,\n:py:obj:`~.cuCtxGetDevResource`, and\n:py:obj:`~.cuGreenCtxGetDevResource` for\n:py:obj:`~.CU_DEV_RESOURCE_TYPE_SM`, using the `minSmPartitionSize` and\n`smCoscheduledAlignment` fields to determine minimum partition size and\nalignment granularity, respectively.\n\nThe `remainder` set does not have the same functional or performance\nguarantees as the groups in `result`. Its use should be ca""refully\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 advanced 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`. `remainder` 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  `remainder` 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.\nflags : 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.\nremainder : :py:obj:`~.CUdevResource`\n    If the input resource cannot be cleanly split among `nbGroups`, the\n    remainder 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_877cuDevSmResourceSplitByCount = {"cuDevSmResourceSplitByCount", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_877cuDevSmResourceSplitByCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_876cuDevSmResourceSplitByCount};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_877cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#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_flags;
  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_flags_2,&__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, 45737, __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, 45737, __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, 45737, __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, 45737, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45737, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 45737, __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, 45737, __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, 45737, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45737, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45737, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45737, __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, 45738, __pyx_L3_error)
    __pyx_v_input_ = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)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, 45738, __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, 45738, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 45737, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 45738, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_876cuDevSmResourceSplitByCount(__pyx_self, __pyx_v_nbGroups, __pyx_v_input_, __pyx_v_flags, __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_876cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_flags, 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_remainder = 0;
  CUresult __pyx_v_err;
  unsigned int __pyx_v_idx;
  CYTHON_UNUSED unsigned int __pyx_10genexpr361__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;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  struct CUdevResource_st *__pyx_t_11;
  CUresult __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevSmResourceSplitByCount", 0);

  /* "cuda/bindings/driver.pyx":45838
 *     :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":45839
 *     """
 *     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, 45839, __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_10genexpr361__pyx_v_idx = __pyx_t_4;
      __pyx_t_6 = NULL;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45839, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 45839, __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":45840
 *     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_8 = (__pyx_v_nbGroups != 0);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45841
 *     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":45842
 *     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_8 = (__pyx_v_cyresult == NULL);
    if (unlikely(__pyx_t_8)) {

      /* "cuda/bindings/driver.pyx":45843
 *         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_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_nbGroups); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __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_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __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, 45843, __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, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 45843, __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, 45843, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":45842
 *     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":45840
 *     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":45844
 *         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 remainder = CUdevResource()
*/
  __pyx_v_cynbGroups = __pyx_v_nbGroups;

  /* "cuda/bindings/driver.pyx":45845
 *             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 remainder = CUdevResource()
 *     with nogil:
*/
  __pyx_t_8 = (((PyObject *)__pyx_v_input_) != Py_None);
  if (__pyx_t_8) {
    __pyx_t_11 = __pyx_v_input_->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cyinput__ptr = __pyx_t_11;

  /* "cuda/bindings/driver.pyx":45846
 *     cdef unsigned int cynbGroups = nbGroups
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, minCount)
*/
  __pyx_t_6 = NULL;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45846, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_remainder = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":45847
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, minCount)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":45848
 *     cdef CUdevResource remainder = CUdevResource()
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, minCount)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
*/
        __pyx_t_12 = __pyx_f_4cuda_8bindings_8cydriver_cuDevSmResourceSplitByCount(__pyx_v_cyresult, (&__pyx_v_cynbGroups), __pyx_v_cyinput__ptr, ((CUdevResource *)__pyx_v_remainder->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_flags, __pyx_v_minCount); if (unlikely(__pyx_t_12 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 45848, __pyx_L8_error)
        __pyx_v_err = __pyx_t_12;
      }

      /* "cuda/bindings/driver.pyx":45847
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, minCount)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/bindings/driver.pyx":45849
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, 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_5, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45849, __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, 45849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __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, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__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_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 45849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45850
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, 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":45851
 *     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, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45851, __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":45849
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplitByCount(cyresult, &cynbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, 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":45852
 *         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_8 = (__pyx_v_cyresult != NULL);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45853
 *             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":45852
 *         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":45854
 *     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, remainder)
*/
  __pyx_t_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45855
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remainder)
 * 
*/
    __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, 45855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45855, __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, 45855, __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, 45855, __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, 45855, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, Py_None) != (0)) __PYX_ERR(0, 45855, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":45854
 *     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, remainder)
*/
  }

  /* "cuda/bindings/driver.pyx":45856
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None, None)
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remainder)             # <<<<<<<<<<<<<<
 * 
 * @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, 45856, __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, 45856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 45856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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, 45856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45856, __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, 45856, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyresult);
  __Pyx_GIVEREF(__pyx_v_pyresult);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_pyresult) != (0)) __PYX_ERR(0, 45856, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1) != (0)) __PYX_ERR(0, 45856, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_remainder);
  __Pyx_GIVEREF((PyObject *)__pyx_v_remainder);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, ((PyObject *)__pyx_v_remainder)) != (0)) __PYX_ERR(0, 45856, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45737
 *     return (_dict_CUresult[err], resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int flags, 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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __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_remainder);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":45858
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remainder)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplit(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int flags, groupParams : Optional[CU_DEV_SM_RESOURCE_GROUP_PARAMS]):
 *     """ Splits a `CU_DEV_RESOURCE_TYPE_SM` resource into structured groups.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_879cuDevSmResourceSplit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_878cuDevSmResourceSplit, "cuDevSmResourceSplit(unsigned int nbGroups, CUdevResource input_: Optional[CUdevResource], unsigned int flags, CU_DEV_SM_RESOURCE_GROUP_PARAMS groupParams: Optional[CU_DEV_SM_RESOURCE_GROUP_PARAMS])\n\nSplits a `CU_DEV_RESOURCE_TYPE_SM` resource into structured groups.\n\nThis API will split a resource of :py:obj:`~.CU_DEV_RESOURCE_TYPE_SM`\ninto `nbGroups` structured device resource groups (the `result` array),\nas well as an optional `remainder`, according to a set of requirements\nspecified in the `groupParams` array. The term \342\200\234structured\342\200\235 is a trait\nthat specifies the `result` has SMs that are co-scheduled together.\nThis co-scheduling can be specified via the `coscheduledSmCount` field\nof the `groupParams` structure, while the `smCount` will specify how\nmany SMs are required in total for that result. The remainder is always\n\342\200\234unstructured\342\200\235, it does not have any set guarantees with respect to co-\nscheduling and those properties will need to either be queried via the\noccupancy set of APIs or further split into structured groups by this\nAPI.\n\nThe API has a discovery mode for use cases where it is difficult to\nknow ahead of time what the SM count should be. Discovery happens when\nthe `smCount` field of a given `groupParams` array entry is set to 0 -\nthe smCount will be filled in by the API with the derived SM count\naccording to the provided `groupParams` fields and constraints.\nDiscovery can be used with both a valid result array and with a NULL\n`result` pointer value. The latter is useful in situations where the\nsmCount will end up being zero, which is an invalid value to create a\nresult entry with, but allowed for discovery purposes when the `result`\nis NULL.\n\nThe `groupParams` array is evaluated from index 0 to `nbGroups` - 1.\nFor each index in the `groupParams` array, the API will evaluate which\nSMs may be a good fit based on constraints and assign those SMs to\n`result`. This evaluation order is ""important to consider when using\ndiscovery mode, as it helps discover the remaining SMs.\n\nFor a valid call:\n\n- `result` should point to a `None` array of size `nbGroups`, or\n  alternatively, may be NULL, if the developer wishes for only the\n  groupParams entries to be updated\n\n- `input` should be a valid :py:obj:`~.CU_DEV_RESOURCE_TYPE_SM`\n  resource that originates from querying the green context, device\n  context, or device.\n\n- The `remainder` group may be NULL.\n\n- There are no API `flags` at this time, so the value passed in should\n  be 0.\n\n- A :py:obj:`~.CU_DEV_SM_RESOURCE_GROUP_PARAMS` array of size\n  `nbGroups`. Each entry must be zero-initialized.\n\n  - `smCount:` must be either 0 or in the range of [2,inputSmCount]\n    where inputSmCount is the amount of SMs the `input` resource has.\n    `smCount` must be a multiple of 2, as well as a multiple of\n    `coscheduledSmCount`. When assigning SMs to a group (and if results\n    are expected by having the `result` parameter set), `smCount`\n    cannot end up with 0 or a value less than `coscheduledSmCount`\n    otherwise CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION will be\n    returned.\n\n  - `coscheduledSmCount:` allows grouping SMs together in order to be\n    able to launch clusters on Compute Architecture 9.0+. The default\n    value may be queried from the device\342\200\231s\n    :py:obj:`~.CU_DEV_RESOURCE_TYPE_SM` resource (8 on Compute\n    Architecture 9.0+ and 2 otherwise). The maximum is 32 on Compute\n    Architecture 9.0+ and 2 otherwise.\n\n  - `preferredCoscheduledSmCount:` Attempts to merge\n    `coscheduledSmCount` groups into larger groups, in order to make\n    use of `preferredClusterDimensions` on Compute Architecture 10.0+.\n    The default value is set to `coscheduledSmCount`.\n\n  - `flags:`\n\n- `CU_DEV_SM_RESOURCE_SPLIT_BACKFILL:` lets `smCount` be a non-multiple\nof `coscheduledSmCount`, filling the difference between SM count and\nalready assigned co-scheduled group""ings with other SMs. This lets any\nresulting group behave similar to the `remainder` group for example.\n\nExample params and their effect:\n\nA groupParams array element is defined in the following order:\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\n**View CUDA Toolkit Documentation for a C++ code example**\n\nThe difference between a catch-all param group as the last entry and\nthe remainder is in two aspects:\n\n- The remainder may be NULL / _TYPE_INVALID (if there are no SMs\n  remaining), while a result group must always be valid.\n\n- The remainder does not have a structure, while the result group will\n  always need to adhere to a structure of coscheduledSmCount (even if\n  its just 2), and therefore must always have enough coscheduled SMs to\n  cover that requirement (even with the\n  `CU_DEV_SM_RESOURCE_SPLIT_BACKFILL` flag enabled).\n\nSplitting an input into N groups, can be accomplished by repeatedly\nsplitting off 1 group and re-splitting the remainder (a bisect\noperation). However, it's recommended to accomplish this with a single\ncall wherever possible.\n\nParameters\n----------\nnbGroups : unsigned int\n    Specifies the number of groups in `result` and `groupParams`\ninput : :py:obj:`~.CUdevResource`\n    Input SM resource to be split. Must be a valid\n    `CU_DEV_RESOURCE_TYPE_SM` resource.\nflags : unsigned int\n    Flags specifying how the API should behave. The value should be 0\n    for now.\ngroupParams : :py:obj:`~.CU_DEV_SM_RESOURCE_GROUP_PARAMS`\n    Description of how the SMs should be split and assigned to the\n    corresponding result entry.\n\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_T""YPE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION`\nresult : list[:py:obj:`~.CUdevResource`]\n    Output array of `None` resources. Can be NULL, alongside an smCount\n    of 0, for discovery purpose.\nremainder : :py:obj:`~.CUdevResource`\n    If splitting the input resource leaves any SMs, the remainder is\n    placed in here.\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxGetDevResource`, :py:obj:`~.cuCtxGetDevResource`, :py:obj:`~.cuDeviceGetDevResource`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_879cuDevSmResourceSplit = {"cuDevSmResourceSplit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_879cuDevSmResourceSplit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_878cuDevSmResourceSplit};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_879cuDevSmResourceSplit(PyObject *__pyx_self, 
#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_flags;
  struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS *__pyx_v_groupParams = 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("cuDevSmResourceSplit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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_flags_2,&__pyx_mstate_global->__pyx_n_u_groupParams,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 45858, __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, 45858, __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, 45858, __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, 45858, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 45858, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuDevSmResourceSplit", 0) < (0)) __PYX_ERR(0, 45858, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplit", 1, 4, 4, i); __PYX_ERR(0, 45858, __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, 45858, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 45858, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 45858, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 45858, __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, 45859, __pyx_L3_error)
    __pyx_v_input_ = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)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, 45859, __pyx_L3_error)
    __pyx_v_groupParams = ((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplit", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 45858, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevSmResourceSplit", __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, 45859, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_groupParams), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS, 1, "groupParams", 0))) __PYX_ERR(0, 45859, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_878cuDevSmResourceSplit(__pyx_self, __pyx_v_nbGroups, __pyx_v_input_, __pyx_v_flags, __pyx_v_groupParams);

  /* 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_878cuDevSmResourceSplit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_flags, struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS *__pyx_v_groupParams) {
  CUdevResource *__pyx_v_cyresult;
  PyObject *__pyx_v_pyresult = NULL;
  CUdevResource *__pyx_v_cyinput__ptr;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *__pyx_v_remainder = 0;
  CU_DEV_SM_RESOURCE_GROUP_PARAMS *__pyx_v_cygroupParams_ptr;
  CUresult __pyx_v_err;
  unsigned int __pyx_v_idx;
  CYTHON_UNUSED unsigned int __pyx_10genexpr362__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;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  struct CUdevResource_st *__pyx_t_11;
  struct CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *__pyx_t_12;
  CUresult __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuDevSmResourceSplit", 0);

  /* "cuda/bindings/driver.pyx":45996
 *     :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":45997
 *     """
 *     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, 45997, __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_10genexpr362__pyx_v_idx = __pyx_t_4;
      __pyx_t_6 = NULL;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 45997, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 45997, __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":45998
 *     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_8 = (__pyx_v_nbGroups != 0);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":45999
 *     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":46000
 *     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 cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
*/
    __pyx_t_8 = (__pyx_v_cyresult == NULL);
    if (unlikely(__pyx_t_8)) {

      /* "cuda/bindings/driver.pyx":46001
 *         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 cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()
*/
      __pyx_t_5 = NULL;
      __pyx_t_6 = __Pyx_PyLong_From_unsigned_int(__pyx_v_nbGroups); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __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_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __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, 46001, __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, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46001, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_1)) __PYX_ERR(0, 46001, __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, 46001, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":46000
 *     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 cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
*/
    }

    /* "cuda/bindings/driver.pyx":45998
 *     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":46002
 *         if cyresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL             # <<<<<<<<<<<<<<
 *     cdef CUdevResource remainder = CUdevResource()
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL
*/
  __pyx_t_8 = (((PyObject *)__pyx_v_input_) != Py_None);
  if (__pyx_t_8) {
    __pyx_t_11 = __pyx_v_input_->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cyinput__ptr = __pyx_t_11;

  /* "cuda/bindings/driver.pyx":46003
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(cydriver.CUdevResource)))
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL
 *     with nogil:
*/
  __pyx_t_6 = NULL;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46003, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_remainder = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":46004
 *     cdef cydriver.CUdevResource* cyinput__ptr = input_._pvt_ptr if input_ is not None else NULL
 *     cdef CUdevResource remainder = CUdevResource()
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
*/
  __pyx_t_8 = (((PyObject *)__pyx_v_groupParams) != Py_None);
  if (__pyx_t_8) {
    __pyx_t_12 = __pyx_v_groupParams->__pyx_base._pvt_ptr;
  } else {
    __pyx_t_12 = NULL;
  }
  __pyx_v_cygroupParams_ptr = __pyx_t_12;

  /* "cuda/bindings/driver.pyx":46005
 *     cdef CUdevResource remainder = CUdevResource()
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
 *     if CUresult(err) == CUresult(0):
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46006
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
*/
        __pyx_t_13 = __pyx_f_4cuda_8bindings_8cydriver_cuDevSmResourceSplit(__pyx_v_cyresult, __pyx_v_nbGroups, __pyx_v_cyinput__ptr, ((CUdevResource *)__pyx_v_remainder->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_flags, __pyx_v_cygroupParams_ptr); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46006, __pyx_L8_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":46005
 *     cdef CUdevResource remainder = CUdevResource()
 *     cdef cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS* cygroupParams_ptr = groupParams._pvt_ptr if groupParams is not None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
 *     if CUresult(err) == CUresult(0):
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/bindings/driver.pyx":46007
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
 *     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_5, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46007, __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, 46007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __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, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__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_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 46007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":46008
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
 *     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":46009
 *     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, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46009, __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":46007
 *     with nogil:
 *         err = cydriver.cuDevSmResourceSplit(cyresult, nbGroups, cyinput__ptr, <cydriver.CUdevResource*>remainder._pvt_ptr, flags, cygroupParams_ptr)
 *     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":46010
 *         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_8 = (__pyx_v_cyresult != NULL);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":46011
 *             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)
*/
    free(__pyx_v_cyresult);

    /* "cuda/bindings/driver.pyx":46010
 *         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":46012
 *     if cyresult is not NULL:
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyresult, remainder)
*/
  __pyx_t_8 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_8) {

    /* "cuda/bindings/driver.pyx":46013
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], pyresult, remainder)
 * 
*/
    __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, 46013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46013, __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, 46013, __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, 46013, __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, 46013, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46012
 *     if cyresult is not NULL:
 *         free(cyresult)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyresult, remainder)
*/
  }

  /* "cuda/bindings/driver.pyx":46014
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None, None)
 *     return (_dict_CUresult[err], pyresult, remainder)             # <<<<<<<<<<<<<<
 * 
 * @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, 46014, __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, 46014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46014, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyresult);
  __Pyx_GIVEREF(__pyx_v_pyresult);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_pyresult) != (0)) __PYX_ERR(0, 46014, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_remainder);
  __Pyx_GIVEREF((PyObject *)__pyx_v_remainder);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_remainder)) != (0)) __PYX_ERR(0, 46014, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":45858
 *     return (_dict_CUresult[err], pyresult, cynbGroups, remainder)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplit(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int flags, groupParams : Optional[CU_DEV_SM_RESOURCE_GROUP_PARAMS]):
 *     """ Splits a `CU_DEV_RESOURCE_TYPE_SM` resource into structured groups.
*/

  /* 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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.bindings.driver.cuDevSmResourceSplit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyresult);
  __Pyx_XDECREF((PyObject *)__pyx_v_remainder);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46016
 *     return (_dict_CUresult[err], pyresult, remainder)
 * 
 * @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_881cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_880cuDevResourceGenerateDesc, "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 and have\n  the same smCoscheduledAlignment values, 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_881cuDevResourceGenerateDesc = {"cuDevResourceGenerateDesc", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_881cuDevResourceGenerateDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_880cuDevResourceGenerateDesc};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_881cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46016, __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, 46016, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46016, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46016, __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, 46016, __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, 46016, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46016, __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, 46017, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevResourceGenerateDesc", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46016, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_880cuDevResourceGenerateDesc(__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_2generator195(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/bindings/driver.pyx":46060
 *     """
 *     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_195_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_195_genexpr *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr(__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_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_195_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 46060, __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_2generator195, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[195]), (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, 46060, __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_2generator195(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_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, 46060, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 46060, __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, 46060, __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, 46060, __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, 46060, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__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, 46060, __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, 46060, __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, 46060, __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":46016
 *     return (_dict_CUresult[err], pyresult, remainder)
 * 
 * @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_880cuDevResourceGenerateDesc(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_2generator195 = 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;
  size_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  Py_ssize_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  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("cuDevResourceGenerateDesc", 0);
  __Pyx_INCREF(__pyx_v_resources);

  /* "cuda/bindings/driver.pyx":46059
 *     :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, 46059, __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":46060
 *     """
 *     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, 46060, __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, 46060, __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, 46060, __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":46061
 *     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_t_5 = 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((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46061, __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, 46061, __pyx_L1_error)

    /* "cuda/bindings/driver.pyx":46060
 *     """
 *     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":46062
 *     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_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46062, __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":46063
 *         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":46064
 *     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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46064, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":46065
 *     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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46065, __pyx_L1_error)
    __pyx_v_cyresources = ((CUdevResource *)calloc(__pyx_t_6, (sizeof(CUdevResource))));

    /* "cuda/bindings/driver.pyx":46066
 *     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":46067
 *         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_t_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46067, __pyx_L1_error)
      __pyx_t_7 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46067, __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, 46067, __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, 46067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46067, __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(CUdevResource))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46067, __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, 46067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46067, __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_1, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46067, __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, 46067, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":46066
 *     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":46068
 *         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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46068, __pyx_L1_error)
    __pyx_t_10 = __pyx_t_6;
    for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
      __pyx_v_idx = __pyx_t_11;

      /* "cuda/bindings/driver.pyx":46069
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46069, __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":46064
 *     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":46070
 *         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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46070, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {

    /* "cuda/bindings/driver.pyx":46071
 *             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, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((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_12;

    /* "cuda/bindings/driver.pyx":46070
 *         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":46072
 *     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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46072, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_nbResources > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_7 = NULL;
    __pyx_t_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46072, __pyx_L1_error)
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46072, __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, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __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, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __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_7, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __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_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46072, __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, 46072, __pyx_L1_error)
  }

  /* "cuda/bindings/driver.pyx":46073
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46074
 *     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_13 = __pyx_f_4cuda_8bindings_8cydriver_cuDevResourceGenerateDesc(((CUdevResourceDesc *)__pyx_v_phDesc->_pvt_ptr), __pyx_v_cyresources, __pyx_v_nbResources); if (unlikely(__pyx_t_13 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46074, __pyx_L10_error)
        __pyx_v_err = __pyx_t_13;
      }

      /* "cuda/bindings/driver.pyx":46073
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/bindings/driver.pyx":46075
 *     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_6 = PyObject_Length(__pyx_v_resources); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 46075, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 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":46076
 *         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":46075
 *     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":46077
 *     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":46078
 *         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, 46078, __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, 46078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46078, __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, 46078, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46077
 *     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":46079
 *     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_1, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46079, __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, 46079, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phDesc)) != (0)) __PYX_ERR(0, 46079, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46016
 *     return (_dict_CUresult[err], pyresult, remainder)
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __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_2generator195);
  __Pyx_XDECREF(__pyx_v_resources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46081
 *     return (_dict_CUresult[err], phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_883cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_882cuGreenCtxRecordEvent, "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_883cuGreenCtxRecordEvent = {"cuGreenCtxRecordEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_883cuGreenCtxRecordEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_882cuGreenCtxRecordEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_883cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46081, __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, 46081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46081, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46081, __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, 46081, __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, 46081, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46081, __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, 46081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_882cuGreenCtxRecordEvent(__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_882cuGreenCtxRecordEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxRecordEvent", 0);

  /* "cuda/bindings/driver.pyx":46114
 *     """
 *     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":46115
 *     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":46114
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46116
 *     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":46117
 *         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, 46117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46116
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46119
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46119, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46120
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46120, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46122
 *     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":46123
 *     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":46122
 *     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":46124
 *     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":46125
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":46124
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46127
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46127, __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, 46127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46128
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46128, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46129
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46130
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxRecordEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46130, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46129
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46131
 *     with nogil:
 *         err = cydriver.cuGreenCtxRecordEvent(cyhCtx, cyhEvent)
 *     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, 46131, __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, 46131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 46131, __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, 46131, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46081
 *     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_7);
  __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":46133
 *     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_885cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_884cuGreenCtxWaitEvent, "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_885cuGreenCtxWaitEvent = {"cuGreenCtxWaitEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_885cuGreenCtxWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_884cuGreenCtxWaitEvent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_885cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46133, __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, 46133, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46133, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46133, __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, 46133, __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, 46133, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46133, __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, 46133, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_884cuGreenCtxWaitEvent(__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_884cuGreenCtxWaitEvent(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxWaitEvent", 0);

  /* "cuda/bindings/driver.pyx":46166
 *     """
 *     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":46167
 *     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":46166
 *     """
 *     cdef cydriver.CUevent cyhEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46168
 *     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":46169
 *         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, 46169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46168
 *     if hEvent is None:
 *         phEvent = 0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46171
 *         phEvent = int(hEvent)
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent
 *     cdef cydriver.CUgreenCtx cyhCtx
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hEvent};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46171, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46172
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *     cyhEvent = <cydriver.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUgreenCtx cyhCtx
 *     if hCtx is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46172, __pyx_L1_error)
  __pyx_v_cyhEvent = ((CUevent)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46174
 *     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":46175
 *     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":46174
 *     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":46176
 *     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":46177
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":46176
 *     if hCtx is None:
 *         phCtx = 0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":46179
 *         phCtx = int(hCtx)
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_hCtx};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46179, __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, 46179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":46180
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46180, __pyx_L1_error)
  __pyx_v_cyhCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46181
 *         phCtx = int(CUgreenCtx(hCtx))
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46182
 *     cyhCtx = <cydriver.CUgreenCtx><void_ptr>phCtx
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxWaitEvent(__pyx_v_cyhCtx, __pyx_v_cyhEvent); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46182, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46181
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46183
 *     with nogil:
 *         err = cydriver.cuGreenCtxWaitEvent(cyhCtx, cyhEvent)
 *     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, 46183, __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, 46183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 46183, __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, 46183, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46133
 *     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_7);
  __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":46185
 *     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_887cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_886cuStreamGetGreenCtx, "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`, :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:`~.c""udaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_887cuStreamGetGreenCtx = {"cuStreamGetGreenCtx", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_887cuStreamGetGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_886cuStreamGetGreenCtx};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_887cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46185, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46185, __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, 46185, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46185, __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, 46185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_886cuStreamGetGreenCtx(__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_886cuStreamGetGreenCtx(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuStreamGetGreenCtx", 0);

  /* "cuda/bindings/driver.pyx":46228
 *     """
 *     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":46229
 *     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":46228
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46230
 *     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":46231
 *         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, 46231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46230
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46233
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46233, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46234
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46234, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46235
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46235, __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":46236
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46237
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetGreenCtx(__pyx_v_cyhStream, ((CUgreenCtx *)__pyx_v_phCtx->_pvt_ptr)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46237, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46236
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46238
 *     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":46239
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46239, __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, 46239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46239, __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, 46239, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46238
 *     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":46240
 *     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, 46240, __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, 46240, __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, 46240, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46240, __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, 46240, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phCtx)) != (0)) __PYX_ERR(0, 46240, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46185
 *     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_7);
  __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":46242
 *     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_889cuGreenCtxStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_888cuGreenCtxStreamCreate, "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_889cuGreenCtxStreamCreate = {"cuGreenCtxStreamCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_889cuGreenCtxStreamCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_888cuGreenCtxStreamCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_889cuGreenCtxStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46242, __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, 46242, __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, 46242, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46242, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46242, __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, 46242, __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, 46242, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46242, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46242, __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, 46243, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46243, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxStreamCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46242, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_888cuGreenCtxStreamCreate(__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_888cuGreenCtxStreamCreate(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxStreamCreate", 0);

  /* "cuda/bindings/driver.pyx":46300
 *     """
 *     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":46301
 *     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":46300
 *     """
 *     cdef cydriver.CUgreenCtx cygreenCtx
 *     if greenCtx is None:             # <<<<<<<<<<<<<<
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46302
 *     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":46303
 *         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, 46303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46302
 *     if greenCtx is None:
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         pgreenCtx = int(greenCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46305
 *         pgreenCtx = int(greenCtx)
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))             # <<<<<<<<<<<<<<
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef CUstream phStream = CUstream()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_greenCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46305, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46306
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx             # <<<<<<<<<<<<<<
 *     cdef CUstream phStream = CUstream()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgreenCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46306, __pyx_L1_error)
  __pyx_v_cygreenCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46307
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46307, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstream *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46308
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46309
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46309, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46308
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46310
 *     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":46311
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46311, __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, 46311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46311, __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, 46311, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46310
 *     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":46312
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46312, __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, 46312, __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, 46312, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46312, __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, 46312, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phStream)) != (0)) __PYX_ERR(0, 46312, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46242
 *     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_7);
  __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":46314
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetId(greenCtx):
 *     """ Returns the unique Id associated with the green context supplied.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_891cuGreenCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_890cuGreenCtxGetId, "cuGreenCtxGetId(greenCtx)\n\nReturns the unique Id associated with the green context supplied.\n\nReturns in `greenCtxId` the unique Id which is associated with a given\ngreen context. The Id is unique for the life of the program for this\ninstance of CUDA. If green context is supplied as NULL and the current\ncontext is set to a green context, the Id of the current green context\nis returned.\n\nParameters\n----------\ngreenCtx : :py:obj:`~.CUgreenCtx`\n    Green 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`\ngreenCtxId : unsigned long long\n    Pointer to store the Id of the green context\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxCreate`, :py:obj:`~.cuGreenCtxDestroy`, :py:obj:`~.cuCtxGetId`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_891cuGreenCtxGetId = {"cuGreenCtxGetId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_891cuGreenCtxGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_890cuGreenCtxGetId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_891cuGreenCtxGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGreenCtxGetId (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 46314, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46314, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuGreenCtxGetId", 0) < (0)) __PYX_ERR(0, 46314, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuGreenCtxGetId", 1, 1, 1, i); __PYX_ERR(0, 46314, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46314, __pyx_L3_error)
    }
    __pyx_v_greenCtx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_890cuGreenCtxGetId(__pyx_self, __pyx_v_greenCtx);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_890cuGreenCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_greenCtx) {
  CUgreenCtx __pyx_v_cygreenCtx;
  PyObject *__pyx_v_pgreenCtx = NULL;
  unsigned PY_LONG_LONG __pyx_v_greenCtxId;
  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;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGreenCtxGetId", 0);

  /* "cuda/bindings/driver.pyx":46341
 *     """
 *     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":46342
 *     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":46341
 *     """
 *     cdef cydriver.CUgreenCtx cygreenCtx
 *     if greenCtx is None:             # <<<<<<<<<<<<<<
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46343
 *     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":46344
 *         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, 46344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46343
 *     if greenCtx is None:
 *         pgreenCtx = 0
 *     elif isinstance(greenCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         pgreenCtx = int(greenCtx)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46346
 *         pgreenCtx = int(greenCtx)
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))             # <<<<<<<<<<<<<<
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef unsigned long long greenCtxId = 0
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_greenCtx};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46346, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgreenCtx = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46347
 *     else:
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx             # <<<<<<<<<<<<<<
 *     cdef unsigned long long greenCtxId = 0
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pgreenCtx); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46347, __pyx_L1_error)
  __pyx_v_cygreenCtx = ((CUgreenCtx)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46348
 *         pgreenCtx = int(CUgreenCtx(greenCtx))
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef unsigned long long greenCtxId = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
*/
  __pyx_v_greenCtxId = 0;

  /* "cuda/bindings/driver.pyx":46349
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef unsigned long long greenCtxId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46350
 *     cdef unsigned long long greenCtxId = 0
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGreenCtxGetId(__pyx_v_cygreenCtx, (&__pyx_v_greenCtxId)); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46350, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46349
 *     cygreenCtx = <cydriver.CUgreenCtx><void_ptr>pgreenCtx
 *     cdef unsigned long long greenCtxId = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46351
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], greenCtxId)
*/
  __pyx_t_1 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_1) {

    /* "cuda/bindings/driver.pyx":46352
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err], greenCtxId)
 * 
*/
    __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, 46352, __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, 46352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46352, __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, 46352, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46351
 *     with nogil:
 *         err = cydriver.cuGreenCtxGetId(cygreenCtx, &greenCtxId)
 *     if err != cydriver.CUDA_SUCCESS:             # <<<<<<<<<<<<<<
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], greenCtxId)
*/
  }

  /* "cuda/bindings/driver.pyx":46353
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], greenCtxId)             # <<<<<<<<<<<<<<
 * 
 * @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, 46353, __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, 46353, __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, 46353, __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 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(__pyx_v_greenCtxId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46353, __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, 46353, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_7) != (0)) __PYX_ERR(0, 46353, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46314
 *     return (_dict_CUresult[err], phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetId(greenCtx):
 *     """ Returns the unique Id associated with the green context supplied.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.bindings.driver.cuGreenCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgreenCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46355
 *     return (_dict_CUresult[err], greenCtxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetDevResource(hStream, typename not None : CUdevResourceType):
 *     """ Get stream resources.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_893cuStreamGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_892cuStreamGetDevResource, "cuStreamGetDevResource(hStream, typename: CUdevResourceType)\n\nGet stream resources.\n\nGet the `typename` resources available to the `hStream` and store them\nin `resource`.\n\nNote: The API will return :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`\nis `typename` is `CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG` or\n`CU_DEV_RESOURCE_TYPE_WORKQUEUE`.\n\nParameters\n----------\nhStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n    Stream 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_HANDLE`\nresource : :py:obj:`~.CUdevResource`\n    Output pointer to a :py:obj:`~.CUdevResource` structure\n\nSee Also\n--------\n:py:obj:`~.cuGreenCtxCreate`, :py:obj:`~.cuGreenCtxStreamCreate`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuDevSmResourceSplitByCount`, :py:obj:`~.cuDevResourceGenerateDesc`, :py:obj:`~.cudaStreamGetDevResource`");
static PyMethodDef __pyx_mdef_4cuda_8bindings_6driver_893cuStreamGetDevResource = {"cuStreamGetDevResource", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_893cuStreamGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_892cuStreamGetDevResource};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_893cuStreamGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_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("cuStreamGetDevResource (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 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_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, 46355, __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, 46355, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46355, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cuStreamGetDevResource", 0) < (0)) __PYX_ERR(0, 46355, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cuStreamGetDevResource", 1, 2, 2, i); __PYX_ERR(0, 46355, __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, 46355, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46355, __pyx_L3_error)
    }
    __pyx_v_hStream = values[0];
    __pyx_v_typename = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetDevResource", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46355, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetDevResource", __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, 46356, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_892cuStreamGetDevResource(__pyx_self, __pyx_v_hStream, __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_892cuStreamGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_typename) {
  CUstream __pyx_v_cyhStream;
  PyObject *__pyx_v_phStream = 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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUdevResourceType __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("cuStreamGetDevResource", 0);

  /* "cuda/bindings/driver.pyx":46385
 *     """
 *     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":46386
 *     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":46385
 *     """
 *     cdef cydriver.CUstream cyhStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46387
 *     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":46388
 *         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, 46388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46387
 *     if hStream is None:
 *         phStream = 0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46390
 *         phStream = int(hStream)
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevResource resource = CUdevResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_hStream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46390, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46391
 *     else:
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46391, __pyx_L1_error)
  __pyx_v_cyhStream = ((CUstream)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46392
 *         phStream = int(CUstream(hStream))
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46392, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_resource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevResource *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46393
 *     cyhStream = <cydriver.CUstream><void_ptr>phStream
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_mstate_global->__pyx_n_u_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((CUdevResourceType)__Pyx_PyLong_As_CUdevResourceType(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 46393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cytypename = __pyx_t_6;

  /* "cuda/bindings/driver.pyx":46394
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46395
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
        __pyx_t_7 = __pyx_f_4cuda_8bindings_8cydriver_cuStreamGetDevResource(__pyx_v_cyhStream, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._pvt_ptr), __pyx_v_cytypename); if (unlikely(__pyx_t_7 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46395, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/bindings/driver.pyx":46394
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef cydriver.CUdevResourceType cytypename = typename.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <cydriver.CUdevResource*>resource._pvt_ptr, cytypename)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46396
 *     with nogil:
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <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":46397
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46397, __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, 46397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 46397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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, 46397, __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, 46397, __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, 46397, __pyx_L1_error);
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46396
 *     with nogil:
 *         err = cydriver.cuStreamGetDevResource(cyhStream, <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":46398
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], resource)             # <<<<<<<<<<<<<<
 * 
 * ctypedef struct cuLogsCallbackData_st:
*/
  __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, 46398, __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, 46398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __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, 46398, __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, 46398, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_resource)) != (0)) __PYX_ERR(0, 46398, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46355
 *     return (_dict_CUresult[err], greenCtxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetDevResource(hStream, typename not None : CUdevResourceType):
 *     """ Get stream resources.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.bindings.driver.cuStreamGetDevResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/bindings/driver.pyx":46406
 * 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":46408
 * @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":46409
 * 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":46410
 *     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":46409
 * 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":46406
 * 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":46412
 *         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_895cuLogsRegisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_894cuLogsRegisterCallback, "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_895cuLogsRegisterCallback = {"cuLogsRegisterCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_895cuLogsRegisterCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_894cuLogsRegisterCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_895cuLogsRegisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46412, __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, 46412, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46412, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46412, __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, 46412, __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, 46412, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46412, __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, 46412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_894cuLogsRegisterCallback(__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_894cuLogsRegisterCallback(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsRegisterCallback", 0);

  /* "cuda/bindings/driver.pyx":46433
 *     """
 *     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":46434
 *     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":46433
 *     """
 *     cdef cydriver.CUlogsCallback cycallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46435
 *     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":46436
 *         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, 46436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46435
 *     if callbackFunc is None:
 *         pcallbackFunc = 0
 *     elif isinstance(callbackFunc, (CUlogsCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46438
 *         pcallbackFunc = int(callbackFunc)
 *     else:
 *         pcallbackFunc = int(CUlogsCallback(callbackFunc))             # <<<<<<<<<<<<<<
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc
 *     cyuserData = _HelperInputVoidPtr(userData)
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callbackFunc};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46438, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallbackFunc = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46439
 *     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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46439, __pyx_L1_error)
  __pyx_v_cycallbackFunc = ((CUlogsCallback)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46440
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_userData};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46440, __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":46441
 *     cycallbackFunc = <cydriver.CUlogsCallback><void_ptr>pcallbackFunc
 *     cyuserData = _HelperInputVoidPtr(userData)
 *     cdef void* cyuserData_ptr = <void*><void_ptr>cyuserData.cptr             # <<<<<<<<<<<<<<
 * 
 *     cdef cuLogsCallbackData *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, 46441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46441, __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_5));

  /* "cuda/bindings/driver.pyx":46443
 *     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":46444
 * 
 *     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":46445
 *     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":46446
 *     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_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46446, __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, 46446, __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, 46446, __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, 46446, __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, 46446, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46445
 *     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":46447
 *     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":46448
 *         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":46450
 *     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_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46450, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_callback_out = ((struct __pyx_obj_4cuda_8bindings_6driver_CUlogsCallbackHandle *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46451
 * 
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46452
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46452, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46451
 * 
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":46453
 *     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":46454
 *         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":46453
 *     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":46456
 *         free(cbData)
 *     else:
 *         m_global._allocated[int(callback_out)] = cbData             # <<<<<<<<<<<<<<
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
*/
  /*else*/ {
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_v_callback_out)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46456, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_5]) = __pyx_v_cbData;
  }
  __pyx_L8:;

  /* "cuda/bindings/driver.pyx":46457
 *     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":46458
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46458, __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, 46458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46458, __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, 46458, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46457
 *     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":46459
 *     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, 46459, __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, 46459, __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, 46459, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46459, __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, 46459, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_callback_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_callback_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_callback_out)) != (0)) __PYX_ERR(0, 46459, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46412
 *         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_7);
  __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":46461
 *     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_897cuLogsUnregisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_896cuLogsUnregisterCallback, "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_897cuLogsUnregisterCallback = {"cuLogsUnregisterCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_897cuLogsUnregisterCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_896cuLogsUnregisterCallback};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_897cuLogsUnregisterCallback(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46461, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46461, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46461, __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, 46461, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46461, __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, 46461, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_896cuLogsUnregisterCallback(__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_896cuLogsUnregisterCallback(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsUnregisterCallback", 0);

  /* "cuda/bindings/driver.pyx":46476
 *     """
 *     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":46477
 *     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":46476
 *     """
 *     cdef cydriver.CUlogsCallbackHandle cycallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46478
 *     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":46479
 *         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, 46479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46478
 *     if callback is None:
 *         pcallback = 0
 *     elif isinstance(callback, (CUlogsCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46481
 *         pcallback = int(callback)
 *     else:
 *         pcallback = int(CUlogsCallbackHandle(callback))             # <<<<<<<<<<<<<<
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_callback};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46481, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46482
 *     else:
 *         pcallback = int(CUlogsCallbackHandle(callback))
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46482, __pyx_L1_error)
  __pyx_v_cycallback = ((CUlogsCallbackHandle)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46483
 *         pcallback = int(CUlogsCallbackHandle(callback))
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)
 *     if err == cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46484
 *     cycallback = <cydriver.CUlogsCallbackHandle><void_ptr>pcallback
 *     with nogil:
 *         err = cydriver.cuLogsUnregisterCallback(cycallback)             # <<<<<<<<<<<<<<
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
*/
        __pyx_t_6 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsUnregisterCallback(__pyx_v_cycallback); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46484, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46483
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46485
 *     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":46486
 *         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_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46486, __pyx_L1_error)
    free((__pyx_v_4cuda_8bindings_6driver_m_global->_allocated[__pyx_t_5]));

    /* "cuda/bindings/driver.pyx":46487
 *     if err == cydriver.CUDA_SUCCESS:
 *         free(m_global._allocated[pcallback])
 *         m_global._allocated.erase(<void_ptr>pcallback)             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
    __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46487, __pyx_L1_error)
    (void)(__pyx_v_4cuda_8bindings_6driver_m_global->_allocated.erase(((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5)));

    /* "cuda/bindings/driver.pyx":46485
 *     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":46488
 *         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, 46488, __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, 46488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 46488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46488, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46461
 *     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_7);
  __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":46490
 *     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_899cuLogsCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_898cuLogsCurrent, "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_899cuLogsCurrent = {"cuLogsCurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_899cuLogsCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_898cuLogsCurrent};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_899cuLogsCurrent(PyObject *__pyx_self, 
#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, 46490, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46490, __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, 46490, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46490, __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, 46491, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_898cuLogsCurrent(__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_898cuLogsCurrent(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;
  size_t __pyx_t_3;
  CUresult __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuLogsCurrent", 0);

  /* "cuda/bindings/driver.pyx":46506
 *         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_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46506, __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":46507
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46508
 *     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_4 = __pyx_f_4cuda_8bindings_8cydriver_cuLogsCurrent(((CUlogIterator *)__pyx_v_iterator_out->_pvt_ptr), __pyx_v_flags); if (unlikely(__pyx_t_4 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46508, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/bindings/driver.pyx":46507
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46509
 *     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_5 = (__pyx_v_err != CUDA_SUCCESS);
  if (__pyx_t_5) {

    /* "cuda/bindings/driver.pyx":46510
 *         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, 46510, __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, 46510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __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, 46510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_6);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 46510, __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, 46510, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46509
 *     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":46511
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46511, __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, 46511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 46511, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_iterator_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_iterator_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_iterator_out)) != (0)) __PYX_ERR(0, 46511, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46490
 *     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_6);
  __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":46513
 *     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_901cuLogsDumpToFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_900cuLogsDumpToFile, "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_901cuLogsDumpToFile = {"cuLogsDumpToFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_901cuLogsDumpToFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_900cuLogsDumpToFile};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_901cuLogsDumpToFile(PyObject *__pyx_self, 
#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, 46513, __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, 46513, __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, 46513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46513, __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, 46513, __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, 46513, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46513, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46513, __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, 46514, __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, 46514, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsDumpToFile", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 46513, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46514, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_900cuLogsDumpToFile(__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_900cuLogsDumpToFile(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":46545
 *     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":46546
 *     """
 *     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":46547
 *     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":46546
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  }

  /* "cuda/bindings/driver.pyx":46548
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46549
 *         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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46549, __pyx_L5_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46548
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46550
 *     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":46551
 *         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, 46551, __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, 46551, __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, 46551, __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, 46551, __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, 46551, __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, 46551, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46550
 *     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":46552
 *     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, 46552, __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, 46552, __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, 46552, __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, 46552, __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, 46552, __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, 46552, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46513
 *     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":46554
 *     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_903cuLogsDumpToMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_902cuLogsDumpToMemory, "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_903cuLogsDumpToMemory = {"cuLogsDumpToMemory", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_903cuLogsDumpToMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_902cuLogsDumpToMemory};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_903cuLogsDumpToMemory(PyObject *__pyx_self, 
#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, 46554, __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, 46554, __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, 46554, __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, 46554, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46554, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46554, __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, 46554, __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, 46554, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46554, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 46554, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 46554, __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, 46555, __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, 46555, __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, 46555, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLogsDumpToMemory", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 46554, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46555, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_902cuLogsDumpToMemory(__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_902cuLogsDumpToMemory(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":46600
 *     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":46601
 *     """
 *     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":46602
 *     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":46601
 *     """
 *     cdef cydriver.CUlogIterator* cyiterator = NULL
 *     if iterator is not None:             # <<<<<<<<<<<<<<
 *         cyiterator = iterator._pvt_ptr
 *     with nogil:
*/
  }

  /* "cuda/bindings/driver.pyx":46603
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46604
 *         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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46604, __pyx_L5_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46603
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46605
 *     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":46606
 *         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, 46606, __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, 46606, __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, 46606, __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, 46606, __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, 46606, __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, 46606, __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, 46606, __pyx_L1_error);
    __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46605
 *     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":46607
 *     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, 46607, __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, 46607, __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, 46607, __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, 46607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46607, __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, 46607, __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, 46607, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_6) != (0)) __PYX_ERR(0, 46607, __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":46554
 *     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":46609
 *     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_905cuCheckpointProcessGetRestoreThreadId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_904cuCheckpointProcessGetRestoreThreadId, "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_905cuCheckpointProcessGetRestoreThreadId = {"cuCheckpointProcessGetRestoreThreadId", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_905cuCheckpointProcessGetRestoreThreadId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_904cuCheckpointProcessGetRestoreThreadId};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_905cuCheckpointProcessGetRestoreThreadId(PyObject *__pyx_self, 
#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, 46609, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46609, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46609, __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, 46609, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46609, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46610, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetRestoreThreadId", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46609, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_904cuCheckpointProcessGetRestoreThreadId(__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_904cuCheckpointProcessGetRestoreThreadId(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":46628
 *         Returned restore thread ID
 *     """
 *     cdef int tid = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
*/
  __pyx_v_tid = 0;

  /* "cuda/bindings/driver.pyx":46629
 *     """
 *     cdef int tid = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46630
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46630, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46629
 *     """
 *     cdef int tid = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetRestoreThreadId(pid, &tid)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46631
 *     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":46632
 *         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, 46632, __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, 46632, __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, 46632, __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, 46632, __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, 46632, __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, 46632, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46631
 *     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":46633
 *     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, 46633, __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, 46633, __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, 46633, __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, 46633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46633, __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, 46633, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 46633, __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":46609
 *     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":46635
 *     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_907cuCheckpointProcessGetState(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_906cuCheckpointProcessGetState, "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_907cuCheckpointProcessGetState = {"cuCheckpointProcessGetState", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_907cuCheckpointProcessGetState, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_906cuCheckpointProcessGetState};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_907cuCheckpointProcessGetState(PyObject *__pyx_self, 
#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, 46635, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46635, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46635, __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, 46635, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46635, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46636, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCheckpointProcessGetState", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 46635, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_906cuCheckpointProcessGetState(__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_906cuCheckpointProcessGetState(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":46655
 *     """
 *     cdef cydriver.CUprocessState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46656
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46656, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46655
 *     """
 *     cdef cydriver.CUprocessState state
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuCheckpointProcessGetState(pid, &state)
 *     if err != cydriver.CUDA_SUCCESS:
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46657
 *     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":46658
 *         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, 46658, __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, 46658, __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, 46658, __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, 46658, __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, 46658, __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, 46658, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46657
 *     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":46659
 *     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, 46659, __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, 46659, __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, 46659, __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, 46659, __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, 46659, __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((PyObject*)__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, 46659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 46659, __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, 46659, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 46659, __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":46635
 *     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":46661
 *     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_909cuCheckpointProcessLock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_908cuCheckpointProcessLock, "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_909cuCheckpointProcessLock = {"cuCheckpointProcessLock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_909cuCheckpointProcessLock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_908cuCheckpointProcessLock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_909cuCheckpointProcessLock(PyObject *__pyx_self, 
#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, 46661, __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, 46661, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46661, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46661, __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, 46661, __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, 46661, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46661, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46662, __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, 46661, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46662, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_908cuCheckpointProcessLock(__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_908cuCheckpointProcessLock(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":46685
 *         :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":46686
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46687
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46687, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46686
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46688
 *     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, 46688, __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, 46688, __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, 46688, __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, 46688, __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, 46688, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46661
 *     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":46690
 *     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_911cuCheckpointProcessCheckpoint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_910cuCheckpointProcessCheckpoint, "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_911cuCheckpointProcessCheckpoint = {"cuCheckpointProcessCheckpoint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_911cuCheckpointProcessCheckpoint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_910cuCheckpointProcessCheckpoint};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_911cuCheckpointProcessCheckpoint(PyObject *__pyx_self, 
#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, 46690, __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, 46690, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46690, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46690, __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, 46690, __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, 46690, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46690, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46691, __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, 46690, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46691, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_910cuCheckpointProcessCheckpoint(__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_910cuCheckpointProcessCheckpoint(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":46713
 *         :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":46714
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46715
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46715, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46714
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46716
 *     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, 46716, __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, 46716, __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, 46716, __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, 46716, __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, 46716, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46690
 *     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":46718
 *     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_913cuCheckpointProcessRestore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_912cuCheckpointProcessRestore, "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\nGPU UUID pairs can be specified in `args` to remap the process old GPUs\nonto new GPUs. The GPU to restore onto needs to have enough memory and\nbe of the same chip type as the old GPU. If an array of GPU UUID pairs\nis specified, it must contain every checkpointed GPU.\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_913cuCheckpointProcessRestore = {"cuCheckpointProcessRestore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_913cuCheckpointProcessRestore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_912cuCheckpointProcessRestore};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_913cuCheckpointProcessRestore(PyObject *__pyx_self, 
#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, 46718, __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, 46718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46718, __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, 46718, __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, 46718, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46718, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46719, __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, 46718, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46719, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_912cuCheckpointProcessRestore(__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_912cuCheckpointProcessRestore(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":46751
 *     :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":46752
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46753
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46753, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46752
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46754
 *     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, 46754, __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, 46754, __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, 46754, __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, 46754, __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, 46754, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46718
 *     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":46756
 *     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_915cuCheckpointProcessUnlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_914cuCheckpointProcessUnlock, "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_915cuCheckpointProcessUnlock = {"cuCheckpointProcessUnlock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_915cuCheckpointProcessUnlock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_914cuCheckpointProcessUnlock};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_915cuCheckpointProcessUnlock(PyObject *__pyx_self, 
#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, 46756, __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, 46756, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46756, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46756, __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, 46756, __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, 46756, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46756, __pyx_L3_error)
    }
    __pyx_v_pid = __Pyx_PyLong_As_int(values[0]); if (unlikely((__pyx_v_pid == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 46757, __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, 46756, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 46757, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_914cuCheckpointProcessUnlock(__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_914cuCheckpointProcessUnlock(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":46777
 *         :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":46778
 *     """
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46779
 *     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 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46779, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/bindings/driver.pyx":46778
 *     """
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46780
 *     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, 46780, __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, 46780, __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, 46780, __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, 46780, __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, 46780, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46756
 *     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":46782
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_917cuProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_916cuProfilerStart, "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_917cuProfilerStart = {"cuProfilerStart", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_917cuProfilerStart, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_916cuProfilerStart};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_917cuProfilerStart(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_916cuProfilerStart(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_916cuProfilerStart(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":46803
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStart()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46804
 *     """
 *     with nogil:
 *         err = cydriver.cuProfilerStart()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuProfilerStart(); if (unlikely(__pyx_t_1 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46804, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46803
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStart()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46805
 *     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, 46805, __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, 46805, __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, 46805, __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, 46805, __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, 46805, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46782
 *     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":46807
 *     return (_dict_CUresult[err],)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
*/

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_8bindings_6driver_919cuProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_918cuProfilerStop, "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_919cuProfilerStop = {"cuProfilerStop", (PyCFunction)__pyx_pw_4cuda_8bindings_6driver_919cuProfilerStop, METH_NOARGS, __pyx_doc_4cuda_8bindings_6driver_918cuProfilerStop};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_919cuProfilerStop(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_918cuProfilerStop(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_8bindings_6driver_918cuProfilerStop(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":46828
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStop()
 *     return (_dict_CUresult[err],)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46829
 *     """
 *     with nogil:
 *         err = cydriver.cuProfilerStop()             # <<<<<<<<<<<<<<
 *     return (_dict_CUresult[err],)
 * 
*/
        __pyx_t_1 = __pyx_f_4cuda_8bindings_8cydriver_cuProfilerStop(); if (unlikely(__pyx_t_1 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46829, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/bindings/driver.pyx":46828
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = cydriver.cuProfilerStop()
 *     return (_dict_CUresult[err],)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/bindings/driver.pyx":46830
 *     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, 46830, __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, 46830, __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, 46830, __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, 46830, __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, 46830, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46807
 *     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":46832
 *     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_921cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_920cuGraphicsEGLRegisterImage, "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_921cuGraphicsEGLRegisterImage = {"cuGraphicsEGLRegisterImage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_921cuGraphicsEGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_920cuGraphicsEGLRegisterImage};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_921cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46832, __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, 46832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46832, __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, 46832, __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, 46832, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46832, __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, 46833, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsEGLRegisterImage", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46832, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_920cuGraphicsEGLRegisterImage(__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_920cuGraphicsEGLRegisterImage(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsEGLRegisterImage", 0);

  /* "cuda/bindings/driver.pyx":46891
 *     """
 *     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":46892
 *     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":46891
 *     """
 *     cdef cydriver.EGLImageKHR cyimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46893
 *     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":46894
 *         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, 46894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pimage = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46893
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (EGLImageKHR,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46896
 *         pimage = int(image)
 *     else:
 *         pimage = int(EGLImageKHR(image))             # <<<<<<<<<<<<<<
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_image};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46896, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pimage = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46897
 *     else:
 *         pimage = int(EGLImageKHR(image))
 *     cyimage = <cydriver.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 46897, __pyx_L1_error)
  __pyx_v_cyimage = ((__pyx_t_4cuda_8bindings_8cydriver_EGLImageKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46898
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46898, __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":46899
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46900
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsEGLRegisterImage(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyimage, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46900, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46899
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46901
 *     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":46902
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46902, __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, 46902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46902, __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, 46902, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46901
 *     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":46903
 *     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, 46903, __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, 46903, __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, 46903, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46903, __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, 46903, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 46903, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46832
 *     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_7);
  __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":46905
 *     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_923cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_922cuEGLStreamConsumerConnect, "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_923cuEGLStreamConsumerConnect = {"cuEGLStreamConsumerConnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_923cuEGLStreamConsumerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_922cuEGLStreamConsumerConnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_923cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46905, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46905, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46905, __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, 46905, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46905, __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, 46905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_922cuEGLStreamConsumerConnect(__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_922cuEGLStreamConsumerConnect(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnect", 0);

  /* "cuda/bindings/driver.pyx":46931
 *     """
 *     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":46932
 *     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":46931
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46933
 *     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":46934
 *         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, 46934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46933
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46936
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46936, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46937
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __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, 46937, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46938
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46938, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46939
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46940
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerConnect(((__pyx_t_4cuda_8bindings_8cydriver_CUeglStreamConnection *)__pyx_v_conn->_pvt_ptr), __pyx_v_cystream); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46940, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46939
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46941
 *     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":46942
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46942, __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, 46942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46942, __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, 46942, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46941
 *     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":46943
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46943, __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, 46943, __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, 46943, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46943, __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, 46943, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 46943, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46905
 *     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_7);
  __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":46945
 *     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_925cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_924cuEGLStreamConsumerConnectWithFlags, "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_925cuEGLStreamConsumerConnectWithFlags = {"cuEGLStreamConsumerConnectWithFlags", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_925cuEGLStreamConsumerConnectWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_924cuEGLStreamConsumerConnectWithFlags};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_925cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46945, __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, 46945, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46945, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46945, __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, 46945, __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, 46945, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 46945, __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, 46946, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnectWithFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 46945, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_924cuEGLStreamConsumerConnectWithFlags(__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_924cuEGLStreamConsumerConnectWithFlags(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnectWithFlags", 0);

  /* "cuda/bindings/driver.pyx":46975
 *     """
 *     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":46976
 *     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":46975
 *     """
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46977
 *     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":46978
 *         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, 46978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":46977
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":46980
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46980, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":46981
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __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, 46981, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":46982
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46982, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":46983
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":46984
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 46984, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":46983
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":46985
 *     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":46986
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46986, __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, 46986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 46986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 46986, __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, 46986, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":46985
 *     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":46987
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46987, __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, 46987, __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, 46987, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 46987, __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, 46987, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 46987, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46945
 *     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_7);
  __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":46989
 *     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_927cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_926cuEGLStreamConsumerDisconnect, "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_927cuEGLStreamConsumerDisconnect = {"cuEGLStreamConsumerDisconnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_927cuEGLStreamConsumerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_926cuEGLStreamConsumerDisconnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_927cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_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, 46989, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 46989, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 46989, __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, 46989, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 46989, __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, 46989, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_926cuEGLStreamConsumerDisconnect(__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_926cuEGLStreamConsumerDisconnect(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerDisconnect", 0);

  /* "cuda/bindings/driver.pyx":47010
 *     """
 *     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":47011
 *     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":47010
 *     """
 *     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":47012
 *     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":47013
 *         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((PyObject*)__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, 47013, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47014
 *     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, 47014, __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":47012
 *     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":47015
 *         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":47016
 *         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, 47016, __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":47015
 *         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":47018
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47018, __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, 47018, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47019
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47020
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerDisconnect(__pyx_v_cyconn); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47020, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47019
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47021
 *     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, 47021, __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, 47021, __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, 47021, __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, 47021, __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, 47021, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":46989
 *     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_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":47023
 *     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_929cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_928cuEGLStreamConsumerAcquireFrame, "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_929cuEGLStreamConsumerAcquireFrame = {"cuEGLStreamConsumerAcquireFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_929cuEGLStreamConsumerAcquireFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_928cuEGLStreamConsumerAcquireFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_929cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47023, __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, 47023, __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, 47023, __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, 47023, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47023, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47023, __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, 47023, __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, 47023, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47023, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47023, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 47023, __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, 47024, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 47023, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_928cuEGLStreamConsumerAcquireFrame(__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_928cuEGLStreamConsumerAcquireFrame(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerAcquireFrame", 0);

  /* "cuda/bindings/driver.pyx":47059
 *     """
 *     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":47060
 *     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":47059
 *     """
 *     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":47061
 *     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":47062
 *         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((PyObject*)__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, 47062, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47063
 *     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, 47063, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47061
 *     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":47064
 *         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":47065
 *         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, 47065, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47064
 *         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":47067
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47067, __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, 47067, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47069
 *         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":47070
 *     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":47069
 *         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":47071
 *     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":47072
 *         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_7 = __pyx_v_pCudaResource;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppCudaResource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47073
 *     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, 47073, __pyx_L1_error)
    __pyx_v_cypCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47071
 *     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":47074
 *         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":47075
 *         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, 47075, __pyx_L1_error)
    __pyx_v_cypCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47074
 *         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":47077
 *         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_7 = NULL;
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pCudaResource))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pCudaResource_is_not_in, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_2)) __PYX_ERR(0, 47077, __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, 47077, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47079
 *         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":47080
 *     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":47079
 *         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":47081
 *     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":47082
 *         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((PyObject*)__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, 47082, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47083
 *     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, 47083, __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":47081
 *     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":47084
 *         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":47085
 *         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, 47085, __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":47084
 *         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":47087
 *         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_6 = NULL;
    __pyx_t_7 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47087, __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, 47087, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":47088
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47089
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerAcquireFrame(__pyx_v_cyconn, __pyx_v_cypCudaResource, __pyx_v_cypStream, __pyx_v_timeout); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47089, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47088
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":47090
 *     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, 47090, __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, 47090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __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, 47090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6) != (0)) __PYX_ERR(0, 47090, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47023
 *     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_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":47092
 *     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_931cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_930cuEGLStreamConsumerReleaseFrame, "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_931cuEGLStreamConsumerReleaseFrame = {"cuEGLStreamConsumerReleaseFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_931cuEGLStreamConsumerReleaseFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_930cuEGLStreamConsumerReleaseFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_931cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47092, __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, 47092, __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, 47092, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47092, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47092, __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, 47092, __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, 47092, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47092, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47092, __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, 47092, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_930cuEGLStreamConsumerReleaseFrame(__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_930cuEGLStreamConsumerReleaseFrame(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerReleaseFrame", 0);

  /* "cuda/bindings/driver.pyx":47121
 *     """
 *     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":47122
 *     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":47121
 *     """
 *     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":47123
 *     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":47124
 *         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((PyObject*)__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, 47124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47125
 *     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, 47125, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47123
 *     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":47126
 *         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":47127
 *         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, 47127, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47126
 *         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":47129
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47129, __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, 47129, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47131
 *         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":47132
 *     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":47131
 *         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":47133
 *     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":47134
 *         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, 47134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppCudaResource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47133
 *     if pCudaResource is None:
 *         ppCudaResource = 0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47136
 *         ppCudaResource = int(pCudaResource)
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))             # <<<<<<<<<<<<<<
 *     cypCudaResource = <cydriver.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef cydriver.CUeglStreamConnection *cyconn
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_pCudaResource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47136, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppCudaResource = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47137
 *     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, 47137, __pyx_L1_error)
  __pyx_v_cypCudaResource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47139
 *     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":47140
 *     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":47139
 *     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":47141
 *     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":47142
 *         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_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7)) __PYX_ERR(0, 47142, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_v_pconn = __pyx_t_7;
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":47143
 *     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, 47143, __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":47141
 *     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":47144
 *         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":47145
 *         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, 47145, __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":47144
 *         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":47147
 *         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_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7)) __PYX_ERR(0, 47147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(0, 47147, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":47148
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47149
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamConsumerReleaseFrame(__pyx_v_cyconn, __pyx_v_cypCudaResource, __pyx_v_cypStream); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47149, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47148
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":47150
 *     with nogil:
 *         err = cydriver.cuEGLStreamConsumerReleaseFrame(cyconn, cypCudaResource, cypStream)
 *     return (_dict_CUresult[err],)             # <<<<<<<<<<<<<<
 * 
 * @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, 47150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47150, __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, 47150, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47092
 *     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_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":47152
 *     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_933cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_932cuEGLStreamProducerConnect, "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_933cuEGLStreamProducerConnect = {"cuEGLStreamProducerConnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_933cuEGLStreamProducerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_932cuEGLStreamProducerConnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_933cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47152, __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, 47152, __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, 47152, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47152, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47152, __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, 47152, __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, 47152, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47152, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47152, __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, 47152, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_932cuEGLStreamProducerConnect(__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_932cuEGLStreamProducerConnect(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerConnect", 0);

  /* "cuda/bindings/driver.pyx":47182
 *     """
 *     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":47183
 *     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":47182
 *     """
 *     cdef cydriver.EGLint cyheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47184
 *     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":47185
 *         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, 47185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pheight = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47184
 *     if height is None:
 *         pheight = 0
 *     elif isinstance(height, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47187
 *         pheight = int(height)
 *     else:
 *         pheight = int(EGLint(height))             # <<<<<<<<<<<<<<
 *     cyheight = <cydriver.EGLint><void_ptr>pheight
 *     cdef cydriver.EGLint cywidth
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_height};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47187, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pheight = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47188
 *     else:
 *         pheight = int(EGLint(height))
 *     cyheight = <cydriver.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 *     cdef cydriver.EGLint cywidth
 *     if width is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47188, __pyx_L1_error)
  __pyx_v_cyheight = ((__pyx_t_4cuda_8bindings_8cydriver_EGLint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47190
 *     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":47191
 *     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":47190
 *     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":47192
 *     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":47193
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)             # <<<<<<<<<<<<<<
 *     else:
 *         pwidth = int(EGLint(width))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_width); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pwidth = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":47192
 *     if width is None:
 *         pwidth = 0
 *     elif isinstance(width, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47195
 *         pwidth = int(width)
 *     else:
 *         pwidth = int(EGLint(width))             # <<<<<<<<<<<<<<
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth
 *     cdef cydriver.EGLStreamKHR cystream
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_width};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLint, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47195, __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, 47195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pwidth = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47196
 *     else:
 *         pwidth = int(EGLint(width))
 *     cywidth = <cydriver.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 *     cdef cydriver.EGLStreamKHR cystream
 *     if stream is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47196, __pyx_L1_error)
  __pyx_v_cywidth = ((__pyx_t_4cuda_8bindings_8cydriver_EGLint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47198
 *     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":47199
 *     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":47198
 *     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":47200
 *     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":47201
 *         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, 47201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47200
 *     if stream is None:
 *         pstream = 0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":47203
 *         pstream = int(stream)
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_stream};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47203, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":47204
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *     cystream = <cydriver.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     with nogil:
*/
  __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, 47204, __pyx_L1_error)
  __pyx_v_cystream = ((__pyx_t_4cuda_8bindings_8cydriver_EGLStreamKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47205
 *         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_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47205, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_conn = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglStreamConnection *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":47206
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47207
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47207, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47206
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":47208
 *     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":47209
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47209, __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, 47209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47209, __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, 47209, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47208
 *     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":47210
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47210, __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, 47210, __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, 47210, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47210, __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, 47210, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_conn)) != (0)) __PYX_ERR(0, 47210, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47152
 *     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_7);
  __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":47212
 *     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_935cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_934cuEGLStreamProducerDisconnect, "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_935cuEGLStreamProducerDisconnect = {"cuEGLStreamProducerDisconnect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_935cuEGLStreamProducerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_934cuEGLStreamProducerDisconnect};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_935cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47212, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 47212, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47212, __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, 47212, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47212, __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, 47212, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_934cuEGLStreamProducerDisconnect(__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_934cuEGLStreamProducerDisconnect(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerDisconnect", 0);

  /* "cuda/bindings/driver.pyx":47233
 *     """
 *     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":47234
 *     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":47233
 *     """
 *     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":47235
 *     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":47236
 *         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((PyObject*)__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, 47236, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47237
 *     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, 47237, __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":47235
 *     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":47238
 *         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":47239
 *         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, 47239, __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":47238
 *         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":47241
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47241, __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, 47241, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47242
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47243
 *         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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerDisconnect(__pyx_v_cyconn); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47243, __pyx_L5_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47242
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47244
 *     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, 47244, __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, 47244, __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, 47244, __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, 47244, __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, 47244, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47212
 *     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_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":47246
 *     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_937cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_936cuEGLStreamProducerPresentFrame, "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_937cuEGLStreamProducerPresentFrame = {"cuEGLStreamProducerPresentFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_937cuEGLStreamProducerPresentFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_936cuEGLStreamProducerPresentFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_937cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47246, __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, 47246, __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, 47246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47246, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47246, __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, 47246, __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, 47246, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47246, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47246, __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, 47246, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 47247, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_936cuEGLStreamProducerPresentFrame(__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_936cuEGLStreamProducerPresentFrame(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerPresentFrame", 0);

  /* "cuda/bindings/driver.pyx":47290
 *     """
 *     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":47291
 *     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":47290
 *     """
 *     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":47292
 *     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":47293
 *         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((PyObject*)__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, 47293, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47294
 *     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, 47294, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47292
 *     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":47295
 *         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":47296
 *         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, 47296, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47295
 *         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":47298
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47298, __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, 47298, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47300
 *         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":47301
 *     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":47300
 *         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":47302
 *     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":47303
 *         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_7 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47303, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47304
 *     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, 47304, __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":47302
 *     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":47305
 *         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":47306
 *         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, 47306, __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":47305
 *         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":47308
 *         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_7 = NULL;
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_2)) __PYX_ERR(0, 47308, __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, 47308, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47309
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47310
 *         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_8 = __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_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47310, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47309
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47311
 *     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, 47311, __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, 47311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 47311, __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, 47311, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47246
 *     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_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":47313
 *     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_939cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_938cuEGLStreamProducerReturnFrame, "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_939cuEGLStreamProducerReturnFrame = {"cuEGLStreamProducerReturnFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_939cuEGLStreamProducerReturnFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_938cuEGLStreamProducerReturnFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_939cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47313, __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, 47313, __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, 47313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47313, __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, 47313, __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, 47313, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47313, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47313, __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, 47313, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 47314, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_938cuEGLStreamProducerReturnFrame(__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_938cuEGLStreamProducerReturnFrame(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;
  struct __pyx_t_4cuda_8bindings_8cydriver_CUeglFrame_st *__pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEGLStreamProducerReturnFrame", 0);

  /* "cuda/bindings/driver.pyx":47341
 *     """
 *     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":47342
 *     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":47341
 *     """
 *     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":47343
 *     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":47344
 *         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((PyObject*)__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, 47344, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47345
 *     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, 47345, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47343
 *     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":47346
 *         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":47347
 *         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, 47347, __pyx_L1_error)
    __pyx_v_cypStream = ((CUstream *)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

    /* "cuda/bindings/driver.pyx":47346
 *         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":47349
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47349, __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, 47349, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47351
 *         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":47352
 *     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":47351
 *         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":47353
 *     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":47354
 *         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_7 = __pyx_v_conn;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47354, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47355
 *     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, 47355, __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":47353
 *     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":47356
 *         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":47357
 *         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, 47357, __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":47356
 *         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":47359
 *         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_7 = NULL;
    __pyx_t_3 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__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_2)) __PYX_ERR(0, 47359, __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, 47359, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47360
 *     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_8 = __pyx_v_eglframe->__pyx_base.__pyx_base._pvt_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cyeglframe_ptr = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":47361
 *         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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47362
 *     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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuEGLStreamProducerReturnFrame(__pyx_v_cyconn, __pyx_v_cyeglframe_ptr, __pyx_v_cypStream); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47362, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":47361
 *         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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47363
 *     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, 47363, __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, 47363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 47363, __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, 47363, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47313
 *     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_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":47365
 *     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_941cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_940cuGraphicsResourceGetMappedEglFrame, "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_941cuGraphicsResourceGetMappedEglFrame = {"cuGraphicsResourceGetMappedEglFrame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_941cuGraphicsResourceGetMappedEglFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_940cuGraphicsResourceGetMappedEglFrame};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_941cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47365, __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, 47365, __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, 47365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47365, __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, 47365, __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, 47365, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47365, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47365, __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, 47366, __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, 47366, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 47365, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_940cuGraphicsResourceGetMappedEglFrame(__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_940cuGraphicsResourceGetMappedEglFrame(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedEglFrame", 0);

  /* "cuda/bindings/driver.pyx":47397
 *     """
 *     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":47398
 *     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":47397
 *     """
 *     cdef cydriver.CUgraphicsResource cyresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47399
 *     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":47400
 *         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, 47400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47399
 *     if resource is None:
 *         presource = 0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47402
 *         presource = int(resource)
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resource};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47402, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47403
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *     cyresource = <cydriver.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47403, __pyx_L1_error)
  __pyx_v_cyresource = ((CUgraphicsResource)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47404
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47404, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_eglFrame = ((struct __pyx_obj_4cuda_8bindings_6driver_CUeglFrame *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":47405
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47406
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47406, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47405
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47407
 *     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":47408
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47408, __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, 47408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47408, __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, 47408, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47407
 *     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":47409
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47409, __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, 47409, __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, 47409, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47409, __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, 47409, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_eglFrame);
  __Pyx_GIVEREF((PyObject *)__pyx_v_eglFrame);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_eglFrame)) != (0)) __PYX_ERR(0, 47409, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47365
 *     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_7);
  __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":47411
 *     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_943cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_942cuEventCreateFromEGLSync, "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_943cuEventCreateFromEGLSync = {"cuEventCreateFromEGLSync", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_943cuEventCreateFromEGLSync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_942cuEventCreateFromEGLSync};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_943cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47411, __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, 47411, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47411, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47411, __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, 47411, __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, 47411, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47411, __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, 47412, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreateFromEGLSync", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47411, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_942cuEventCreateFromEGLSync(__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_942cuEventCreateFromEGLSync(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuEventCreateFromEGLSync", 0);

  /* "cuda/bindings/driver.pyx":47453
 *     """
 *     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":47454
 *     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":47453
 *     """
 *     cdef cydriver.EGLSyncKHR cyeglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47455
 *     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":47456
 *         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, 47456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_peglSync = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47455
 *     if eglSync is None:
 *         peglSync = 0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47458
 *         peglSync = int(eglSync)
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))             # <<<<<<<<<<<<<<
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eglSync};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47458, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_peglSync = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47459
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 *     cyeglSync = <cydriver.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 *     cdef CUevent phEvent = CUevent()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47459, __pyx_L1_error)
  __pyx_v_cyeglSync = ((__pyx_t_4cuda_8bindings_8cydriver_EGLSyncKHR)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47460
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47460, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_8bindings_6driver_CUevent *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/bindings/driver.pyx":47461
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47462
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuEventCreateFromEGLSync(((CUevent *)__pyx_v_phEvent->_pvt_ptr), __pyx_v_cyeglSync, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47462, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47461
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47463
 *     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":47464
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47464, __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, 47464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47464, __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, 47464, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47463
 *     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":47465
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47465, __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, 47465, __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, 47465, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47465, __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, 47465, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phEvent)) != (0)) __PYX_ERR(0, 47465, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47411
 *     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_7);
  __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":47467
 *     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_945cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_944cuGraphicsGLRegisterBuffer, "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_945cuGraphicsGLRegisterBuffer = {"cuGraphicsGLRegisterBuffer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_945cuGraphicsGLRegisterBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_944cuGraphicsGLRegisterBuffer};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_945cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47467, __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, 47467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47467, __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, 47467, __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, 47467, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47467, __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, 47468, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterBuffer", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47467, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_944cuGraphicsGLRegisterBuffer(__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_944cuGraphicsGLRegisterBuffer(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterBuffer", 0);

  /* "cuda/bindings/driver.pyx":47507
 *     """
 *     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":47508
 *     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":47507
 *     """
 *     cdef cydriver.GLuint cybuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47509
 *     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":47510
 *         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, 47510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pbuffer = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47509
 *     if buffer is None:
 *         pbuffer = 0
 *     elif isinstance(buffer, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47512
 *         pbuffer = int(buffer)
 *     else:
 *         pbuffer = int(GLuint(buffer))             # <<<<<<<<<<<<<<
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_buffer};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47512, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pbuffer = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47513
 *     else:
 *         pbuffer = int(GLuint(buffer))
 *     cybuffer = <cydriver.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47513, __pyx_L1_error)
  __pyx_v_cybuffer = ((__pyx_t_4cuda_8bindings_8cydriver_GLuint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47514
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47514, __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":47515
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47516
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsGLRegisterBuffer(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cybuffer, __pyx_v_Flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47516, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47515
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47517
 *     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":47518
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47518, __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, 47518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47518, __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, 47518, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47517
 *     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":47519
 *     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, 47519, __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, 47519, __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, 47519, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47519, __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, 47519, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47519, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47467
 *     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_7);
  __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":47521
 *     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_947cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_946cuGraphicsGLRegisterImage, "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_947cuGraphicsGLRegisterImage = {"cuGraphicsGLRegisterImage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_947cuGraphicsGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_946cuGraphicsGLRegisterImage};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_947cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47521, __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, 47521, __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, 47521, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47521, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47521, __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, 47521, __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, 47521, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47521, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47521, __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, 47522, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 47521, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_946cuGraphicsGLRegisterImage(__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_946cuGraphicsGLRegisterImage(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterImage", 0);

  /* "cuda/bindings/driver.pyx":47596
 *     """
 *     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":47597
 *     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":47596
 *     """
 *     cdef cydriver.GLenum cytarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47598
 *     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":47599
 *         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, 47599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptarget = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47598
 *     if target is None:
 *         ptarget = 0
 *     elif isinstance(target, (GLenum,)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47601
 *         ptarget = int(target)
 *     else:
 *         ptarget = int(GLenum(target))             # <<<<<<<<<<<<<<
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget
 *     cdef cydriver.GLuint cyimage
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_target};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLenum, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47601, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptarget = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47602
 *     else:
 *         ptarget = int(GLenum(target))
 *     cytarget = <cydriver.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 *     cdef cydriver.GLuint cyimage
 *     if image is None:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47602, __pyx_L1_error)
  __pyx_v_cytarget = ((__pyx_t_4cuda_8bindings_8cydriver_GLenum)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47604
 *     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":47605
 *     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":47604
 *     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":47606
 *     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":47607
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(GLuint(image))
*/
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pimage = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "cuda/bindings/driver.pyx":47606
 *     if image is None:
 *         pimage = 0
 *     elif isinstance(image, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47609
 *         pimage = int(image)
 *     else:
 *         pimage = int(GLuint(image))             # <<<<<<<<<<<<<<
 *     cyimage = <cydriver.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_image};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_GLuint, __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;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47609, __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, 47609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pimage = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47610
 *     else:
 *         pimage = int(GLuint(image))
 *     cyimage = <cydriver.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47610, __pyx_L1_error)
  __pyx_v_cyimage = ((__pyx_t_4cuda_8bindings_8cydriver_GLuint)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47611
 *         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_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47611, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_8bindings_6driver_CUgraphicsResource *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/bindings/driver.pyx":47612
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47613
 *     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_6 = __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_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47613, __pyx_L6_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47612
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47614
 *     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":47615
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47615, __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, 47615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47615, __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, 47615, __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, 47615, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47614
 *     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":47616
 *     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, 47616, __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, 47616, __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, 47616, __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, 47616, __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, 47616, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47616, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47521
 *     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_7);
  __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":47618
 *     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_949cuGLGetDevices(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_948cuGLGetDevices, "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_949cuGLGetDevices = {"cuGLGetDevices", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_949cuGLGetDevices, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_948cuGLGetDevices};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_949cuGLGetDevices(PyObject *__pyx_self, 
#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, 47618, __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, 47618, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47618, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47618, __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, 47618, __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, 47618, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47618, __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, 47619, __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, 47618, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 47619, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_948cuGLGetDevices(__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_948cuGLGetDevices(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_10genexpr364__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;
  size_t __pyx_t_7;
  __pyx_t_4cuda_8bindings_8cydriver_CUGLDeviceList __pyx_t_8;
  CUresult __pyx_t_9;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  unsigned int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGLGetDevices", 0);

  /* "cuda/bindings/driver.pyx":47666
 * 
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0             # <<<<<<<<<<<<<<
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL
 *     pypCudaDevices = []
*/
  __pyx_v_pCudaDeviceCount = 0;

  /* "cuda/bindings/driver.pyx":47667
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef cydriver.CUdevice* cypCudaDevices = NULL             # <<<<<<<<<<<<<<
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
*/
  __pyx_v_cypCudaDevices = NULL;

  /* "cuda/bindings/driver.pyx":47668
 *     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, 47668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pypCudaDevices = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":47669
 *     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":47670
 *     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":47671
 *     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":47672
 *         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_t_4 = __Pyx_PyLong_From_unsigned_int(__pyx_v_cudaDeviceCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __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_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(CUdevice))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat__Pyx_ReferenceSharing_OwnStrongReferenceInPlace(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47672, __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_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __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_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47672, __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, 47672, __pyx_L1_error)

      /* "cuda/bindings/driver.pyx":47671
 *     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":47669
 *     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":47673
 *         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, 47673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_8 = ((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, 47673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cydeviceList = __pyx_t_8;

  /* "cuda/bindings/driver.pyx":47674
 *             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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47675
 *     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_9 = __pyx_f_4cuda_8bindings_8cydriver_cuGLGetDevices((&__pyx_v_pCudaDeviceCount), __pyx_v_cypCudaDevices, __pyx_v_cudaDeviceCount, __pyx_v_cydeviceList); if (unlikely(__pyx_t_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47675, __pyx_L6_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":47674
 *             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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47676
 *     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_3, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47676, __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, 47676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __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_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_int_0};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47677
 *         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, 47677, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_v_cudaDeviceCount;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_10genexpr364__pyx_v_idx = __pyx_t_12;
        __pyx_t_1 = NULL;
        __pyx_t_6 = __Pyx_PyLong_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_8bindings_6driver_void_ptr)(__pyx_v_cypCudaDevices[__pyx_10genexpr364__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47677, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = 1;
        {
          PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, NULL};
          __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47677, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_init_value, __pyx_t_6, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(0, 47677, __pyx_L1_error)
          __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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, 47677, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 47677, __pyx_L1_error)
        __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypCudaDevices, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/bindings/driver.pyx":47676
 *     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":47678
 *     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":47679
 *         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":47678
 *     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":47680
 *     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":47681
 *         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, 47681, __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, 47681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __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, 47681, __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, 47681, __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, 47681, __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, 47681, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47680
 *     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":47682
 *     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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47682, __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, 47682, __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, 47682, __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 = __Pyx_PyLong_From_unsigned_int(__pyx_v_pCudaDeviceCount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47682, __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, 47682, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 47682, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypCudaDevices);
  __Pyx_GIVEREF(__pyx_v_pypCudaDevices);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pypCudaDevices) != (0)) __PYX_ERR(0, 47682, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47618
 *     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_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":47684
 *     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_951cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_950cuVDPAUGetDevice, "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_951cuVDPAUGetDevice = {"cuVDPAUGetDevice", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_951cuVDPAUGetDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_950cuVDPAUGetDevice};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_951cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47684, __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, 47684, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47684, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47684, __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, 47684, __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, 47684, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47684, __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, 47684, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_950cuVDPAUGetDevice(__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_950cuVDPAUGetDevice(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;
  CUresult __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuVDPAUGetDevice", 0);

  /* "cuda/bindings/driver.pyx":47710
 *     """
 *     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":47711
 *     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":47710
 *     """
 *     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":47712
 *     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":47713
 *         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((PyObject*)__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, 47713, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47714
 *     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, 47714, __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":47712
 *     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":47715
 *         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":47716
 *         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, 47716, __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":47715
 *         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":47718
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47718, __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, 47718, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47720
 *         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":47721
 *     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":47720
 *         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":47722
 *     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":47723
 *         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, 47723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47722
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47725
 *         pvdpDevice = int(vdpDevice)
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_vdpDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47725, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47726
 *     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, 47726, __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":47727
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47727, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_7);
  }
  __pyx_v_pDevice = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/bindings/driver.pyx":47728
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47729
 *     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_8 = __pyx_f_4cuda_8bindings_8cydriver_cuVDPAUGetDevice(((CUdevice *)__pyx_v_pDevice->_pvt_ptr), __pyx_v_cyvdpDevice, __pyx_v_cyvdpGetProcAddress); if (unlikely(__pyx_t_8 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47729, __pyx_L6_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/bindings/driver.pyx":47728
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "cuda/bindings/driver.pyx":47730
 *     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":47731
 *         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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47731, __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, 47731, __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, 47731, __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, 47731, __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, 47731, __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, 47731, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47730
 *     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":47732
 *     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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47732, __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, 47732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __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, 47732, __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, 47732, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevice);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevice);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pDevice)) != (0)) __PYX_ERR(0, 47732, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47684
 *     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_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":47734
 *     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_953cuVDPAUCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_952cuVDPAUCtxCreate, "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_953cuVDPAUCtxCreate = {"cuVDPAUCtxCreate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_953cuVDPAUCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_952cuVDPAUCtxCreate};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_953cuVDPAUCtxCreate(PyObject *__pyx_self, 
#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_2,&__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, 47734, __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, 47734, __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, 47734, __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, 47734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47734, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47734, __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, 47734, __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, 47734, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47734, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 47734, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 47734, __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, 47735, __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, 47734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_952cuVDPAUCtxCreate(__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_952cuVDPAUCtxCreate(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;
  CUdevice __pyx_t_8;
  CUresult __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuVDPAUCtxCreate", 0);

  /* "cuda/bindings/driver.pyx":47767
 *     """
 *     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":47768
 *     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":47767
 *     """
 *     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":47769
 *     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":47770
 *         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((PyObject*)__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, 47770, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47771
 *     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, 47771, __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":47769
 *     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":47772
 *         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":47773
 *         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, 47773, __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":47772
 *         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":47775
 *         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_t_6 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 47775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47775, __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, 47775, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47777
 *         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":47778
 *     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":47777
 *         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":47779
 *     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":47780
 *         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, 47780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47779
 *     if vdpDevice is None:
 *         pvdpDevice = 0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *     else:
*/
    goto __pyx_L4;
  }

  /* "cuda/bindings/driver.pyx":47782
 *         pvdpDevice = int(vdpDevice)
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *     cyvdpDevice = <cydriver.VdpDevice><void_ptr>pvdpDevice
 *     cdef cydriver.CUdevice cydevice
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_vdpDevice};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47782, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;
  }
  __pyx_L4:;

  /* "cuda/bindings/driver.pyx":47783
 *     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, 47783, __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":47785
 *     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":47786
 *     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":47785
 *     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":47787
 *     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":47788
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
*/
    __pyx_t_7 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_v_pdevice = ((PyObject*)__pyx_t_7);
    __pyx_t_7 = 0;

    /* "cuda/bindings/driver.pyx":47787
 *     if device is None:
 *         pdevice = 0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *     else:
*/
    goto __pyx_L5;
  }

  /* "cuda/bindings/driver.pyx":47790
 *         pdevice = int(device)
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *     cydevice = <cydriver.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_device};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevice, __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;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47790, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_7);
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_pdevice = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L5:;

  /* "cuda/bindings/driver.pyx":47791
 *     else:
 *         pdevice = int(CUdevice(device))
 *     cydevice = <cydriver.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUcontext pCtx = CUcontext()
 *     with nogil:
*/
  __pyx_t_8 = __Pyx_PyLong_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_8 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(0, 47791, __pyx_L1_error)
  __pyx_v_cydevice = ((CUdevice)__pyx_t_8);

  /* "cuda/bindings/driver.pyx":47792
 *         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_7 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47792, __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":47793
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47794
 *     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_9 = __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_9 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47794, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/bindings/driver.pyx":47793
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/bindings/driver.pyx":47795
 *     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":47796
 *         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_2, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47796, __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, 47796, __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, 47796, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47796, __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, 47796, __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, 47796, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47795
 *     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":47797
 *     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_7, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyLong_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47797, __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, 47797, __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, 47797, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47734
 *     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_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":47799
 *     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_955cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_954cuGraphicsVDPAURegisterVideoSurface, "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_955cuGraphicsVDPAURegisterVideoSurface = {"cuGraphicsVDPAURegisterVideoSurface", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_955cuGraphicsVDPAURegisterVideoSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_954cuGraphicsVDPAURegisterVideoSurface};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_955cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47799, __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, 47799, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47799, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47799, __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, 47799, __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, 47799, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47799, __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, 47800, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterVideoSurface", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 47799, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_954cuGraphicsVDPAURegisterVideoSurface(__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_954cuGraphicsVDPAURegisterVideoSurface(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterVideoSurface", 0);

  /* "cuda/bindings/driver.pyx":47845
 *     """
 *     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":47846
 *     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":47845
 *     """
 *     cdef cydriver.VdpVideoSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47847
 *     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":47848
 *         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, 47848, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47847
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47850
 *         pvdpSurface = int(vdpSurface)
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vdpSurface};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47850, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47851
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47851, __pyx_L1_error)
  __pyx_v_cyvdpSurface = ((__pyx_t_4cuda_8bindings_8cydriver_VdpVideoSurface)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47852
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47852, __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":47853
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47854
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterVideoSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47854, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47853
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47855
 *     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":47856
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47856, __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, 47856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47856, __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, 47856, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47855
 *     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":47857
 *     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, 47857, __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, 47857, __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, 47857, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47857, __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, 47857, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47857, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47799
 *     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_7);
  __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":47859
 *     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_957cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_956cuGraphicsVDPAURegisterOutputSurface, "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_957cuGraphicsVDPAURegisterOutputSurface = {"cuGraphicsVDPAURegisterOutputSurface", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_957cuGraphicsVDPAURegisterOutputSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_956cuGraphicsVDPAURegisterOutputSurface};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_957cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47859, __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, 47859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        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, "cuGraphicsVDPAURegisterOutputSurface", 0) < (0)) __PYX_ERR(0, 47859, __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, 47859, __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, 47859, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 47859, __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, 47860, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterOutputSurface", 1, 2, 2, __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.cuGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_8bindings_6driver_956cuGraphicsVDPAURegisterOutputSurface(__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_956cuGraphicsVDPAURegisterOutputSurface(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;
  size_t __pyx_t_4;
  __pyx_t_4cuda_8bindings_6driver_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterOutputSurface", 0);

  /* "cuda/bindings/driver.pyx":47905
 *     """
 *     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":47906
 *     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":47905
 *     """
 *     cdef cydriver.VdpOutputSurface cyvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47907
 *     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":47908
 *         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, 47908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/bindings/driver.pyx":47907
 *     if vdpSurface is None:
 *         pvdpSurface = 0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "cuda/bindings/driver.pyx":47910
 *         pvdpSurface = int(vdpSurface)
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vdpSurface};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface, __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;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47910, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyNumber_Int(((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF((PyObject *)__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "cuda/bindings/driver.pyx":47911
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *     cyvdpSurface = <cydriver.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     with nogil:
*/
  __pyx_t_5 = __Pyx_PyLong_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 47911, __pyx_L1_error)
  __pyx_v_cyvdpSurface = ((__pyx_t_4cuda_8bindings_8cydriver_VdpOutputSurface)((__pyx_t_4cuda_8bindings_6driver_void_ptr)__pyx_t_5));

  /* "cuda/bindings/driver.pyx":47912
 *         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_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource, __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;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47912, __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":47913
 *     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 = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "cuda/bindings/driver.pyx":47914
 *     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_6 = __pyx_f_4cuda_8bindings_8cydriver_cuGraphicsVDPAURegisterOutputSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_pvt_ptr), __pyx_v_cyvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((enum cudaError_enum)CUDA_ERROR_NOT_FOUND) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 47914, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/bindings/driver.pyx":47913
 *     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();
          PyEval_RestoreThread(_save);
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/bindings/driver.pyx":47915
 *     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":47916
 *         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_3, __pyx_mstate_global->__pyx_n_u_dict_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47916, __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, 47916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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, 47916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7) != (0)) __PYX_ERR(0, 47916, __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, 47916, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47915
 *     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":47917
 *     if err != cydriver.CUDA_SUCCESS:
 *         return (_dict_CUresult[err], None)
 *     return (_dict_CUresult[err], pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __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, 47917, __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, 47917, __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, 47917, __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(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47917, __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, 47917, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pCudaResource)) != (0)) __PYX_ERR(0, 47917, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/bindings/driver.pyx":47859
 *     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_7);
  __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":47923
 *     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":47924
 * 
 *     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":47925
 *     def __dealloc__(self):
 *         for item in self._allocated:
 *             free(item.second)             # <<<<<<<<<<<<<<
 *         self._allocated.clear()
 * 
*/
    free(__pyx_v_item.second);

    /* "cuda/bindings/driver.pyx":47924
 * 
 *     def __dealloc__(self):
 *         for item in self._allocated:             # <<<<<<<<<<<<<<
 *             free(item.second)
 *         self._allocated.clear()
*/
  }

  /* "cuda/bindings/driver.pyx":47926
 *         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":47923
 *     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(((PyObject *)(((PyTypeObject*)PyExc_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(((PyObject *)(((PyTypeObject*)PyExc_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":47931
 * 
 * 
 * @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_959sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_8bindings_6driver_958sizeof, "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_959sizeof = {"sizeof", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_959sizeof, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_958sizeof};
static PyObject *__pyx_pw_4cuda_8bindings_6driver_959sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_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, 47931, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 47931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 47931, __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, 47931, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 47931, __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, 47931, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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_958sizeof(__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_958sizeof(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;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sizeof", 0);

  /* "cuda/bindings/driver.pyx":47945
 *         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, 47945, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47946
 *     """
 *     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, 47946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47945
 *         The size of `objType` in bytes
 *     """
 *     if objType == cuuint32_t:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.cuuint32_t)
 *     if objType == cuuint64_t:
*/
  }

  /* "cuda/bindings/driver.pyx":47947
 *     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, 47947, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47948
 *         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, 47948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47947
 *     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":47949
 *     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, 47949, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47950
 *         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, 47950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47949
 *     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":47951
 *     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, 47951, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47952
 *         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, 47952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47951
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(cydriver.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47953
 *     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, 47953, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47954
 *         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, 47954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47953
 *     if objType == CUdeviceptr:
 *         return sizeof(cydriver.CUdeviceptr)
 *     if objType == CUdevice_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:
*/
  }

  /* "cuda/bindings/driver.pyx":47955
 *     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, 47955, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47956
 *         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, 47956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47955
 *     if objType == CUdevice_v1:
 *         return sizeof(cydriver.CUdevice_v1)
 *     if objType == CUdevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:
*/
  }

  /* "cuda/bindings/driver.pyx":47957
 *     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, 47957, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47958
 *         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, 47958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47957
 *     if objType == CUdevice:
 *         return sizeof(cydriver.CUdevice)
 *     if objType == CUcontext:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:
*/
  }

  /* "cuda/bindings/driver.pyx":47959
 *     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, 47959, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47960
 *         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, 47960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47959
 *     if objType == CUcontext:
 *         return sizeof(cydriver.CUcontext)
 *     if objType == CUmodule:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:
*/
  }

  /* "cuda/bindings/driver.pyx":47961
 *     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, 47961, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47962
 *         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, 47962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47961
 *     if objType == CUmodule:
 *         return sizeof(cydriver.CUmodule)
 *     if objType == CUfunction:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:
*/
  }

  /* "cuda/bindings/driver.pyx":47963
 *     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, 47963, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47964
 *         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, 47964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47963
 *     if objType == CUfunction:
 *         return sizeof(cydriver.CUfunction)
 *     if objType == CUlibrary:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:
*/
  }

  /* "cuda/bindings/driver.pyx":47965
 *     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, 47965, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47966
 *         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, 47966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47965
 *     if objType == CUlibrary:
 *         return sizeof(cydriver.CUlibrary)
 *     if objType == CUkernel:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:
*/
  }

  /* "cuda/bindings/driver.pyx":47967
 *     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, 47967, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47968
 *         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, 47968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47967
 *     if objType == CUkernel:
 *         return sizeof(cydriver.CUkernel)
 *     if objType == CUarray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:
*/
  }

  /* "cuda/bindings/driver.pyx":47969
 *     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, 47969, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47970
 *         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, 47970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47969
 *     if objType == CUarray:
 *         return sizeof(cydriver.CUarray)
 *     if objType == CUmipmappedArray:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:
*/
  }

  /* "cuda/bindings/driver.pyx":47971
 *     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, 47971, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47972
 *         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, 47972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47971
 *     if objType == CUmipmappedArray:
 *         return sizeof(cydriver.CUmipmappedArray)
 *     if objType == CUtexref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:
*/
  }

  /* "cuda/bindings/driver.pyx":47973
 *     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, 47973, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47974
 *         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, 47974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47973
 *     if objType == CUtexref:
 *         return sizeof(cydriver.CUtexref)
 *     if objType == CUsurfref:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:
*/
  }

  /* "cuda/bindings/driver.pyx":47975
 *     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, 47975, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47976
 *         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, 47976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47975
 *     if objType == CUsurfref:
 *         return sizeof(cydriver.CUsurfref)
 *     if objType == CUevent:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:
*/
  }

  /* "cuda/bindings/driver.pyx":47977
 *     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, 47977, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47978
 *         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, 47978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47977
 *     if objType == CUevent:
 *         return sizeof(cydriver.CUevent)
 *     if objType == CUstream:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:
*/
  }

  /* "cuda/bindings/driver.pyx":47979
 *     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, 47979, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47980
 *         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, 47980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47979
 *     if objType == CUstream:
 *         return sizeof(cydriver.CUstream)
 *     if objType == CUgraphicsResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47981
 *     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, 47981, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47982
 *         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, 47982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47981
 *     if objType == CUgraphicsResource:
 *         return sizeof(cydriver.CUgraphicsResource)
 *     if objType == CUtexObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:
*/
  }

  /* "cuda/bindings/driver.pyx":47983
 *     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, 47983, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47984
 *         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, 47984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47983
 *     if objType == CUtexObject_v1:
 *         return sizeof(cydriver.CUtexObject_v1)
 *     if objType == CUtexObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":47985
 *     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, 47985, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47986
 *         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, 47986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47985
 *     if objType == CUtexObject:
 *         return sizeof(cydriver.CUtexObject)
 *     if objType == CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:
*/
  }

  /* "cuda/bindings/driver.pyx":47987
 *     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, 47987, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47988
 *         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, 47988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47987
 *     if objType == CUsurfObject_v1:
 *         return sizeof(cydriver.CUsurfObject_v1)
 *     if objType == CUsurfObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:
*/
  }

  /* "cuda/bindings/driver.pyx":47989
 *     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, 47989, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47990
 *         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, 47990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47989
 *     if objType == CUsurfObject:
 *         return sizeof(cydriver.CUsurfObject)
 *     if objType == CUexternalMemory:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
*/
  }

  /* "cuda/bindings/driver.pyx":47991
 *     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, 47991, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47992
 *         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, 47992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47991
 *     if objType == CUexternalMemory:
 *         return sizeof(cydriver.CUexternalMemory)
 *     if objType == CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:
*/
  }

  /* "cuda/bindings/driver.pyx":47993
 *     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, 47993, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47994
 *         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, 47994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47993
 *     if objType == CUexternalSemaphore:
 *         return sizeof(cydriver.CUexternalSemaphore)
 *     if objType == CUgraph:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:
*/
  }

  /* "cuda/bindings/driver.pyx":47995
 *     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, 47995, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47996
 *         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, 47996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47995
 *     if objType == CUgraph:
 *         return sizeof(cydriver.CUgraph)
 *     if objType == CUgraphNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:
*/
  }

  /* "cuda/bindings/driver.pyx":47997
 *     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, 47997, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":47998
 *         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, 47998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47997
 *     if objType == CUgraphNode:
 *         return sizeof(cydriver.CUgraphNode)
 *     if objType == CUgraphExec:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:
*/
  }

  /* "cuda/bindings/driver.pyx":47999
 *     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, 47999, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 47999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48000
 *         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, 48000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":47999
 *     if objType == CUgraphExec:
 *         return sizeof(cydriver.CUgraphExec)
 *     if objType == CUmemoryPool:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:
*/
  }

  /* "cuda/bindings/driver.pyx":48001
 *     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, 48001, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48002
 *         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, 48002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48001
 *     if objType == CUmemoryPool:
 *         return sizeof(cydriver.CUmemoryPool)
 *     if objType == CUuserObject:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":48003
 *     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, 48003, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48004
 *         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, 48004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48003
 *     if objType == CUuserObject:
 *         return sizeof(cydriver.CUuserObject)
 *     if objType == CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
*/
  }

  /* "cuda/bindings/driver.pyx":48005
 *     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, 48005, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48006
 *         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, 48006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48005
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(cydriver.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":48007
 *     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, 48007, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48008
 *         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, 48008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48007
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(cydriver.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:
*/
  }

  /* "cuda/bindings/driver.pyx":48009
 *     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, 48009, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48010
 *         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, 48010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48009
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(cydriver.CUasyncCallbackHandle)
 *     if objType == CUgreenCtx:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48011
 *     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, 48011, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48012
 *         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, 48012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48011
 *     if objType == CUgreenCtx:
 *         return sizeof(cydriver.CUgreenCtx)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:
*/
  }

  /* "cuda/bindings/driver.pyx":48013
 *     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, 48013, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48014
 *         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, 48014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48013
 *     if objType == CUuuid_st:
 *         return sizeof(cydriver.CUuuid_st)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48015
 *     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, 48015, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48016
 *         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, 48016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48015
 *     if objType == CUuuid:
 *         return sizeof(cydriver.CUuuid)
 *     if objType == CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48017
 *     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, 48017, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48018
 *         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, 48018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48017
 *     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":48019
 *     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, 48019, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48020
 *         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, 48020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48019
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(cydriver.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48021
 *     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, 48021, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48022
 *         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, 48022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48021
 *     if objType == CUmemFabricHandle:
 *         return sizeof(cydriver.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48023
 *     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, 48023, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48024
 *         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, 48024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48023
 *     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":48025
 *     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, 48025, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48025, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48026
 *         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, 48026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48025
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(cydriver.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48027
 *     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, 48027, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48028
 *         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, 48028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48027
 *     if objType == CUipcEventHandle:
 *         return sizeof(cydriver.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48029
 *     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, 48029, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48030
 *         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, 48030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48029
 *     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":48031
 *     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, 48031, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48032
 *         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, 48032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48031
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(cydriver.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
*/
  }

  /* "cuda/bindings/driver.pyx":48033
 *     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, 48033, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48034
 *         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, 48034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48033
 *     if objType == CUipcMemHandle:
 *         return sizeof(cydriver.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48035
 *     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, 48035, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48036
 *         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, 48036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48035
 *     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":48037
 *     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, 48037, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48038
 *         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, 48038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48037
 *     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":48039
 *     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, 48039, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48040
 *         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, 48040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48039
 *     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":48041
 *     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, 48041, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48042
 *         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, 48042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48041
 *     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":48043
 *     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, 48043, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48044
 *         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, 48044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48043
 *     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":48045
 *     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, 48045, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48046
 *         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, 48046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48045
 *     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":48047
 *     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, 48047, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48048
 *         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, 48048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48047
 *     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":48049
 *     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, 48049, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48050
 *         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, 48050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48049
 *     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":48051
 *     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, 48051, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48052
 *         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, 48052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48051
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(cydriver.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":48053
 *     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, 48053, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48054
 *         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, 48054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48053
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(cydriver.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48055
 *     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, 48055, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48056
 *         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, 48056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48055
 *     if objType == CUasyncCallback:
 *         return sizeof(cydriver.CUasyncCallback)
 *     if objType == CUdevprop_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop_st)
 *     if objType == CUdevprop_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48057
 *     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, 48057, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48058
 *         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, 48058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48057
 *     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":48059
 *     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, 48059, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48060
 *         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, 48060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48059
 *     if objType == CUdevprop_v1:
 *         return sizeof(cydriver.CUdevprop_v1)
 *     if objType == CUdevprop:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:
*/
  }

  /* "cuda/bindings/driver.pyx":48061
 *     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, 48061, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48062
 *         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, 48062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48061
 *     if objType == CUdevprop:
 *         return sizeof(cydriver.CUdevprop)
 *     if objType == CUlinkState:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:
*/
  }

  /* "cuda/bindings/driver.pyx":48063
 *     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, 48063, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48064
 *         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, 48064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48063
 *     if objType == CUlinkState:
 *         return sizeof(cydriver.CUlinkState)
 *     if objType == CUhostFn:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48065
 *     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, 48065, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48066
 *         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, 48066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48065
 *     if objType == CUhostFn:
 *         return sizeof(cydriver.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48067
 *     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, 48067, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48068
 *         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, 48068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48067
 *     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":48069
 *     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, 48069, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48070
 *         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, 48070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48069
 *     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":48071
 *     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, 48071, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48072
 *         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, 48072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48071
 *     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":48073
 *     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, 48073, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48074
 *         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, 48074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48073
 *     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":48075
 *     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, 48075, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48076
 *         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, 48076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48075
 *     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":48077
 *     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, 48077, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48078
 *         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, 48078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48077
 *     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":48079
 *     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, 48079, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48080
 *         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, 48080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48079
 *     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":48081
 *     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, 48081, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48082
 *         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, 48082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48081
 *     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":48083
 *     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, 48083, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48084
 *         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, 48084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48083
 *     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":48085
 *     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, 48085, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48086
 *         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, 48086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48085
 *     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":48087
 *     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, 48087, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48088
 *         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, 48088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48087
 *     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":48089
 *     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, 48089, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48090
 *         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, 48090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48089
 *     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":48091
 *     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, 48091, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48092
 *         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, 48092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48091
 *     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":48093
 *     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, 48093, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48094
 *         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, 48094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48093
 *     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":48095
 *     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, 48095, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48096
 *         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, 48096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48095
 *     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":48097
 *     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, 48097, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48098
 *         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, 48098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48097
 *     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":48099
 *     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, 48099, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48099, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48100
 *         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, 48100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48099
 *     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":48101
 *     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, 48101, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48102
 *         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, 48102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48101
 *     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":48103
 *     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, 48103, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48104
 *         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, 48104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48103
 *     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":48105
 *     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, 48105, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48106
 *         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, 48106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48105
 *     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":48107
 *     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, 48107, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48108
 *         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, 48108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48107
 *     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":48109
 *     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, 48109, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48110
 *         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, 48110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48109
 *     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":48111
 *     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, 48111, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48112
 *         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, 48112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48111
 *     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":48113
 *     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, 48113, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48114
 *         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, 48114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48113
 *     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":48115
 *     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, 48115, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48116
 *         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, 48116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48115
 *     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":48117
 *     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, 48117, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48118
 *         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, 48118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48117
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
*/
  }

  /* "cuda/bindings/driver.pyx":48119
 *     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, 48119, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48120
 *         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, 48120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48119
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(cydriver.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
*/
  }

  /* "cuda/bindings/driver.pyx":48121
 *     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, 48121, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48122
 *         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, 48122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48121
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(cydriver.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48123
 *     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, 48123, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48124
 *         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, 48124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48123
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(cydriver.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
*/
  }

  /* "cuda/bindings/driver.pyx":48125
 *     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, 48125, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48126
 *         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, 48126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48125
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(cydriver.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48127
 *     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, 48127, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48128
 *         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, 48128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48127
 *     if objType == CUlaunchAttribute:
 *         return sizeof(cydriver.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
*/
  }

  /* "cuda/bindings/driver.pyx":48129
 *     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, 48129, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48130
 *         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, 48130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48129
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(cydriver.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48131
 *     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, 48131, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48132
 *         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, 48132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48131
 *     if objType == CUlaunchConfig:
 *         return sizeof(cydriver.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
*/
  }

  /* "cuda/bindings/driver.pyx":48133
 *     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, 48133, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48134
 *         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, 48134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48133
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(cydriver.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48135
 *     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, 48135, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48136
 *         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, 48136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48135
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(cydriver.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
*/
  }

  /* "cuda/bindings/driver.pyx":48137
 *     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, 48137, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48138
 *         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, 48138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48137
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(cydriver.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48139
 *     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, 48139, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48140
 *         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, 48140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48139
 *     if objType == CUstreamAttrValue:
 *         return sizeof(cydriver.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48141
 *     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, 48141, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48142
 *         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, 48142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48141
 *     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":48143
 *     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, 48143, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48144
 *         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, 48144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48143
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(cydriver.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48145
 *     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, 48145, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48146
 *         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, 48146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48145
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(cydriver.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48147
 *     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, 48147, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48148
 *         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, 48148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48147
 *     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":48149
 *     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, 48149, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48150
 *         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, 48150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48149
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(cydriver.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48151
 *     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, 48151, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48152
 *         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, 48152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48151
 *     if objType == CUexecAffinityParam:
 *         return sizeof(cydriver.CUexecAffinityParam)
 *     if objType == CUctxCigParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:
*/
  }

  /* "cuda/bindings/driver.pyx":48153
 *     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, 48153, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48154
 *         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, 48154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48153
 *     if objType == CUctxCigParam_st:
 *         return sizeof(cydriver.CUctxCigParam_st)
 *     if objType == CUctxCigParam:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48155
 *     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, 48155, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48156
 *         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, 48156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48155
 *     if objType == CUctxCigParam:
 *         return sizeof(cydriver.CUctxCigParam)
 *     if objType == CUctxCreateParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:
*/
  }

  /* "cuda/bindings/driver.pyx":48157
 *     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, 48157, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48158
 *         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, 48158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48157
 *     if objType == CUctxCreateParams_st:
 *         return sizeof(cydriver.CUctxCreateParams_st)
 *     if objType == CUctxCreateParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48159
 *     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, 48159, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48160
 *         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, 48160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48159
 *     if objType == CUctxCreateParams:
 *         return sizeof(cydriver.CUctxCreateParams)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
*/
  }

  /* "cuda/bindings/driver.pyx":48161
 *     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, 48161, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48162
 *         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, 48162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48161
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":48163
 *     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, 48163, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48164
 *         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, 48164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48163
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(cydriver.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
*/
  }

  /* "cuda/bindings/driver.pyx":48165
 *     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, 48165, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48166
 *         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, 48166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48165
 *     if objType == CUstreamCallback:
 *         return sizeof(cydriver.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48167
 *     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, 48167, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48168
 *         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, 48168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48167
 *     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":48169
 *     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, 48169, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48170
 *         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, 48170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48169
 *     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":48171
 *     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, 48171, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48172
 *         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, 48172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48171
 *     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":48173
 *     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, 48173, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48174
 *         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, 48174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48173
 *     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":48175
 *     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, 48175, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48176
 *         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, 48176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48175
 *     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":48177
 *     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, 48177, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48178
 *         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, 48178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48177
 *     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":48179
 *     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, 48179, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48180
 *         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, 48180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48179
 *     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":48181
 *     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, 48181, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48182
 *         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, 48182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48181
 *     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":48183
 *     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, 48183, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48184
 *         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, 48184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48183
 *     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":48185
 *     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, 48185, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48186
 *         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, 48186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48185
 *     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":48187
 *     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, 48187, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48188
 *         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, 48188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48187
 *     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":48189
 *     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, 48189, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48190
 *         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, 48190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48189
 *     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":48191
 *     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, 48191, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48192
 *         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, 48192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48191
 *     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":48193
 *     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, 48193, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48194
 *         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, 48194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48193
 *     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":48195
 *     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, 48195, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48196
 *         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, 48196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48195
 *     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":48197
 *     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, 48197, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48198
 *         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, 48198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48197
 *     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":48199
 *     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, 48199, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48200
 *         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, 48200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48199
 *     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":48201
 *     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, 48201, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48202
 *         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, 48202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48201
 *     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":48203
 *     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, 48203, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48204
 *         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, 48204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48203
 *     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":48205
 *     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, 48205, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48206
 *         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, 48206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48205
 *     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":48207
 *     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, 48207, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48208
 *         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, 48208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48207
 *     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":48209
 *     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, 48209, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48210
 *         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, 48210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48209
 *     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":48211
 *     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, 48211, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48212
 *         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, 48212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48211
 *     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":48213
 *     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, 48213, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48214
 *         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, 48214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48213
 *     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":48215
 *     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, 48215, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48216
 *         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, 48216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48215
 *     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":48217
 *     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, 48217, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48218
 *         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, 48218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48217
 *     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":48219
 *     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, 48219, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48220
 *         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, 48220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48219
 *     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":48221
 *     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, 48221, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48222
 *         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, 48222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48221
 *     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":48223
 *     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, 48223, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48224
 *         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, 48224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48223
 *     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":48225
 *     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, 48225, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48226
 *         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, 48226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48225
 *     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":48227
 *     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, 48227, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48228
 *         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, 48228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48227
 *     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":48229
 *     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, 48229, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48230
 *         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, 48230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48229
 *     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":48231
 *     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, 48231, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48232
 *         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, 48232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48231
 *     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":48233
 *     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, 48233, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48234
 *         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, 48234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48233
 *     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":48235
 *     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, 48235, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48236
 *         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, 48236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48235
 *     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":48237
 *     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, 48237, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48238
 *         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, 48238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48237
 *     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":48239
 *     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, 48239, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48239, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48240
 *         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, 48240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48239
 *     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":48241
 *     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, 48241, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48242
 *         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, 48242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48241
 *     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":48243
 *     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, 48243, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48244
 *         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, 48244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48243
 *     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":48245
 *     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, 48245, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48246
 *         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, 48246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48245
 *     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":48247
 *     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, 48247, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48248
 *         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, 48248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48247
 *     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":48249
 *     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, 48249, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48250
 *         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, 48250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48249
 *     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":48251
 *     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, 48251, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48252
 *         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, 48252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48251
 *     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":48253
 *     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, 48253, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48254
 *         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, 48254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48253
 *     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":48255
 *     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, 48255, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48256
 *         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, 48256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48255
 *     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":48257
 *     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, 48257, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48258
 *         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, 48258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48257
 *     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":48259
 *     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, 48259, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48260
 *         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, 48260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48259
 *     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":48261
 *     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, 48261, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48262
 *         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, 48262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48261
 *     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":48263
 *     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, 48263, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48264
 *         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, 48264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48263
 *     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":48265
 *     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, 48265, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48266
 *         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, 48266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48265
 *     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":48267
 *     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, 48267, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48268
 *         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, 48268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48267
 *     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":48269
 *     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, 48269, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48270
 *         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, 48270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48269
 *     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":48271
 *     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, 48271, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48272
 *         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, 48272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48271
 *     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":48273
 *     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, 48273, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48274
 *         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, 48274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48273
 *     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":48275
 *     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, 48275, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48276
 *         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, 48276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48275
 *     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":48277
 *     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, 48277, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48278
 *         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, 48278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48277
 *     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":48279
 *     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, 48279, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48280
 *         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, 48280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48279
 *     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":48281
 *     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, 48281, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48282
 *         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, 48282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48281
 *     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":48283
 *     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, 48283, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48284
 *         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, 48284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48283
 *     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":48285
 *     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, 48285, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48286
 *         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, 48286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48285
 *     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":48287
 *     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, 48287, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48288
 *         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, 48288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48287
 *     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":48289
 *     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, 48289, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48290
 *         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, 48290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48289
 *     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":48291
 *     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, 48291, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48292
 *         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, 48292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48291
 *     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":48293
 *     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, 48293, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48294
 *         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, 48294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48293
 *     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":48295
 *     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, 48295, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48296
 *         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, 48296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48295
 *     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":48297
 *     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, 48297, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48298
 *         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, 48298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48297
 *     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":48299
 *     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, 48299, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48300
 *         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, 48300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48299
 *     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":48301
 *     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, 48301, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48302
 *         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, 48302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48301
 *     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":48303
 *     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, 48303, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48304
 *         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, 48304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48303
 *     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":48305
 *     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, 48305, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48306
 *         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, 48306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48305
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48307
 *     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, 48307, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48308
 *         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, 48308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48307
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(cydriver.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48309
 *     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, 48309, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48310
 *         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, 48310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48309
 *     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":48311
 *     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, 48311, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48312
 *         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, 48312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48311
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(cydriver.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48313
 *     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, 48313, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48314
 *         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, 48314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48313
 *     if objType == CUarrayMapInfo:
 *         return sizeof(cydriver.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48315
 *     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, 48315, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48316
 *         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, 48316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48315
 *     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":48317
 *     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, 48317, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48318
 *         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, 48318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48317
 *     if objType == CUmemLocation_v1:
 *         return sizeof(cydriver.CUmemLocation_v1)
 *     if objType == CUmemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48319
 *     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, 48319, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48320
 *         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, 48320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48319
 *     if objType == CUmemLocation:
 *         return sizeof(cydriver.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48321
 *     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, 48321, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48322
 *         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, 48322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48321
 *     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":48323
 *     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, 48323, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48324
 *         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, 48324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48323
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(cydriver.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48325
 *     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, 48325, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48326
 *         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, 48326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48325
 *     if objType == CUmemAllocationProp:
 *         return sizeof(cydriver.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48327
 *     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, 48327, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48328
 *         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, 48328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48327
 *     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":48329
 *     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, 48329, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48330
 *         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, 48330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48329
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(cydriver.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48331
 *     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, 48331, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48332
 *         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, 48332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48331
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(cydriver.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48333
 *     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, 48333, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48334
 *         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, 48334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48333
 *     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":48335
 *     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, 48335, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48336
 *         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, 48336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48335
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(cydriver.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48337
 *     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, 48337, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48338
 *         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, 48338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48337
 *     if objType == CUmemAccessDesc:
 *         return sizeof(cydriver.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48339
 *     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, 48339, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48340
 *         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, 48340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48339
 *     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":48341
 *     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, 48341, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48342
 *         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, 48342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48341
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48343
 *     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, 48343, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48344
 *         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, 48344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48343
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(cydriver.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48345
 *     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, 48345, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48346
 *         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, 48346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48345
 *     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":48347
 *     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, 48347, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48348
 *         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, 48348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48347
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(cydriver.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48349
 *     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, 48349, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48350
 *         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, 48350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48349
 *     if objType == CUmemPoolProps:
 *         return sizeof(cydriver.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48351
 *     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, 48351, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48352
 *         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, 48352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48351
 *     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":48353
 *     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, 48353, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48354
 *         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, 48354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48353
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(cydriver.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48355
 *     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, 48355, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48356
 *         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, 48356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48355
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(cydriver.CUmemPoolPtrExportData)
 *     if objType == CUmemcpyAttributes_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes_st)
 *     if objType == CUmemcpyAttributes_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48357
 *     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, 48357, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48358
 *         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, 48358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48357
 *     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":48359
 *     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, 48359, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48360
 *         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, 48360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48359
 *     if objType == CUmemcpyAttributes_v1:
 *         return sizeof(cydriver.CUmemcpyAttributes_v1)
 *     if objType == CUmemcpyAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48361
 *     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, 48361, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48362
 *         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, 48362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48361
 *     if objType == CUmemcpyAttributes:
 *         return sizeof(cydriver.CUmemcpyAttributes)
 *     if objType == CUoffset3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D_st)
 *     if objType == CUoffset3D_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48363
 *     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, 48363, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48364
 *         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, 48364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48363
 *     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":48365
 *     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, 48365, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48366
 *         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, 48366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48365
 *     if objType == CUoffset3D_v1:
 *         return sizeof(cydriver.CUoffset3D_v1)
 *     if objType == CUoffset3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48367
 *     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, 48367, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48368
 *         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, 48368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48367
 *     if objType == CUoffset3D:
 *         return sizeof(cydriver.CUoffset3D)
 *     if objType == CUextent3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D_st)
 *     if objType == CUextent3D_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48369
 *     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, 48369, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48370
 *         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, 48370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48369
 *     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":48371
 *     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, 48371, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48372
 *         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, 48372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48371
 *     if objType == CUextent3D_v1:
 *         return sizeof(cydriver.CUextent3D_v1)
 *     if objType == CUextent3D:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48373
 *     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, 48373, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48374
 *         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, 48374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48373
 *     if objType == CUextent3D:
 *         return sizeof(cydriver.CUextent3D)
 *     if objType == CUmemcpy3DOperand_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemcpy3DOperand_st)
 *     if objType == CUmemcpy3DOperand_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48375
 *     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, 48375, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48376
 *         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, 48376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48375
 *     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":48377
 *     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, 48377, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48378
 *         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, 48378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48377
 *     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":48379
 *     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, 48379, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48380
 *         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, 48380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48379
 *     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":48381
 *     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, 48381, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48382
 *         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, 48382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48381
 *     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":48383
 *     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, 48383, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48384
 *         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, 48384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48383
 *     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":48385
 *     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, 48385, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48386
 *         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, 48386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48385
 *     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":48387
 *     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, 48387, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48388
 *         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, 48388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48387
 *     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":48389
 *     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, 48389, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48390
 *         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, 48390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48389
 *     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":48391
 *     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, 48391, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48392
 *         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, 48392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48391
 *     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":48393
 *     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, 48393, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48394
 *         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, 48394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48393
 *     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":48395
 *     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, 48395, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48396
 *         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, 48396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48395
 *     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":48397
 *     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, 48397, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48398
 *         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, 48398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48397
 *     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":48399
 *     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, 48399, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48400
 *         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, 48400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48399
 *     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":48401
 *     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, 48401, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48402
 *         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, 48402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48401
 *     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":48403
 *     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, 48403, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48404
 *         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, 48404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48403
 *     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":48405
 *     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, 48405, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48406
 *         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, 48406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48405
 *     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":48407
 *     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, 48407, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48408
 *         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, 48408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48407
 *     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":48409
 *     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, 48409, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48410
 *         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, 48410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48409
 *     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":48411
 *     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, 48411, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48412
 *         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, 48412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48411
 *     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":48413
 *     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, 48413, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48414
 *         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, 48414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48413
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(cydriver.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48415
 *     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, 48415, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48416
 *         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, 48416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48415
 *     if objType == CUgraphNodeParams:
 *         return sizeof(cydriver.CUgraphNodeParams)
 *     if objType == CUcheckpointLockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":48417
 *     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, 48417, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48418
 *         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, 48418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48417
 *     if objType == CUcheckpointLockArgs_st:
 *         return sizeof(cydriver.CUcheckpointLockArgs_st)
 *     if objType == CUcheckpointLockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48419
 *     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, 48419, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48420
 *         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, 48420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48419
 *     if objType == CUcheckpointLockArgs:
 *         return sizeof(cydriver.CUcheckpointLockArgs)
 *     if objType == CUcheckpointCheckpointArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":48421
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointGpuPair_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, 48421, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48422
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointGpuPair_st:
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointCheckpointArgs))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48421
 *     if objType == CUcheckpointCheckpointArgs_st:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs_st)
 *     if objType == CUcheckpointCheckpointArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointGpuPair_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48423
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointGpuPair_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
 *     if objType == CUcheckpointGpuPair:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48423, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48424
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointGpuPair_st:
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointGpuPair:
 *         return sizeof(cydriver.CUcheckpointGpuPair)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUcheckpointGpuPair_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48423
 *     if objType == CUcheckpointCheckpointArgs:
 *         return sizeof(cydriver.CUcheckpointCheckpointArgs)
 *     if objType == CUcheckpointGpuPair_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
 *     if objType == CUcheckpointGpuPair:
*/
  }

  /* "cuda/bindings/driver.pyx":48425
 *     if objType == CUcheckpointGpuPair_st:
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
 *     if objType == CUcheckpointGpuPair:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointGpuPair)
 *     if objType == CUcheckpointRestoreArgs_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48425, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48426
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
 *     if objType == CUcheckpointGpuPair:
 *         return sizeof(cydriver.CUcheckpointGpuPair)             # <<<<<<<<<<<<<<
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUcheckpointGpuPair))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48425
 *     if objType == CUcheckpointGpuPair_st:
 *         return sizeof(cydriver.CUcheckpointGpuPair_st)
 *     if objType == CUcheckpointGpuPair:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointGpuPair)
 *     if objType == CUcheckpointRestoreArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48427
 *     if objType == CUcheckpointGpuPair:
 *         return sizeof(cydriver.CUcheckpointGpuPair)
 *     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, 48427, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48428
 *         return sizeof(cydriver.CUcheckpointGpuPair)
 *     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, 48428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48427
 *     if objType == CUcheckpointGpuPair:
 *         return sizeof(cydriver.CUcheckpointGpuPair)
 *     if objType == CUcheckpointRestoreArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":48429
 *     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, 48429, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48430
 *         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, 48430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48429
 *     if objType == CUcheckpointRestoreArgs_st:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs_st)
 *     if objType == CUcheckpointRestoreArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48431
 *     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, 48431, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48432
 *         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, 48432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48431
 *     if objType == CUcheckpointRestoreArgs:
 *         return sizeof(cydriver.CUcheckpointRestoreArgs)
 *     if objType == CUcheckpointUnlockArgs_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:
*/
  }

  /* "cuda/bindings/driver.pyx":48433
 *     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, 48433, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48434
 *         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, 48434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48433
 *     if objType == CUcheckpointUnlockArgs_st:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs_st)
 *     if objType == CUcheckpointUnlockArgs:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48435
 *     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, 48435, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48436
 *         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, 48436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48435
 *     if objType == CUcheckpointUnlockArgs:
 *         return sizeof(cydriver.CUcheckpointUnlockArgs)
 *     if objType == CUmemDecompressParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:
*/
  }

  /* "cuda/bindings/driver.pyx":48437
 *     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, 48437, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48438
 *         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, 48438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48437
 *     if objType == CUmemDecompressParams_st:
 *         return sizeof(cydriver.CUmemDecompressParams_st)
 *     if objType == CUmemDecompressParams:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:
*/
  }

  /* "cuda/bindings/driver.pyx":48439
 *     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, 48439, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48440
 *         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, 48440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48439
 *     if objType == CUmemDecompressParams:
 *         return sizeof(cydriver.CUmemDecompressParams)
 *     if objType == CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48441
 *     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, 48441, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48442
 *         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, 48442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48441
 *     if objType == CUdevResourceDesc:
 *         return sizeof(cydriver.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
*/
  }

  /* "cuda/bindings/driver.pyx":48443
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevWorkqueueConfigResource_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, 48443, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48444
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)             # <<<<<<<<<<<<<<
 *     if objType == CUdevWorkqueueConfigResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevSmResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48443
 *     if objType == CUdevSmResource_st:
 *         return sizeof(cydriver.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevWorkqueueConfigResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48445
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevWorkqueueConfigResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
 *     if objType == CUdevWorkqueueConfigResource:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48445, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48446
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevWorkqueueConfigResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevWorkqueueConfigResource:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUdevWorkqueueConfigResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48445
 *     if objType == CUdevSmResource:
 *         return sizeof(cydriver.CUdevSmResource)
 *     if objType == CUdevWorkqueueConfigResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
 *     if objType == CUdevWorkqueueConfigResource:
*/
  }

  /* "cuda/bindings/driver.pyx":48447
 *     if objType == CUdevWorkqueueConfigResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
 *     if objType == CUdevWorkqueueConfigResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
 *     if objType == CUdevWorkqueueResource_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48447, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48448
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
 *     if objType == CUdevWorkqueueConfigResource:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)             # <<<<<<<<<<<<<<
 *     if objType == CUdevWorkqueueResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevWorkqueueConfigResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48447
 *     if objType == CUdevWorkqueueConfigResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource_st)
 *     if objType == CUdevWorkqueueConfigResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
 *     if objType == CUdevWorkqueueResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48449
 *     if objType == CUdevWorkqueueConfigResource:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
 *     if objType == CUdevWorkqueueResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
 *     if objType == CUdevWorkqueueResource:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48449, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48450
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
 *     if objType == CUdevWorkqueueResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevWorkqueueResource:
 *         return sizeof(cydriver.CUdevWorkqueueResource)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CUdevWorkqueueResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48449
 *     if objType == CUdevWorkqueueConfigResource:
 *         return sizeof(cydriver.CUdevWorkqueueConfigResource)
 *     if objType == CUdevWorkqueueResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
 *     if objType == CUdevWorkqueueResource:
*/
  }

  /* "cuda/bindings/driver.pyx":48451
 *     if objType == CUdevWorkqueueResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
 *     if objType == CUdevWorkqueueResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueResource)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48451, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48452
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
 *     if objType == CUdevWorkqueueResource:
 *         return sizeof(cydriver.CUdevWorkqueueResource)             # <<<<<<<<<<<<<<
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CUdevWorkqueueResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48451
 *     if objType == CUdevWorkqueueResource_st:
 *         return sizeof(cydriver.CUdevWorkqueueResource_st)
 *     if objType == CUdevWorkqueueResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevWorkqueueResource)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48453
 *     if objType == CUdevWorkqueueResource:
 *         return sizeof(cydriver.CUdevWorkqueueResource)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48453, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48454
 *         return sizeof(cydriver.CUdevWorkqueueResource)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(struct CU_DEV_SM_RESOURCE_GROUP_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48453
 *     if objType == CUdevWorkqueueResource:
 *         return sizeof(cydriver.CUdevWorkqueueResource)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
*/
  }

  /* "cuda/bindings/driver.pyx":48455
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
 *     if objType == CUdevResource_st:
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48455, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48456
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource_st:
 *         return sizeof(cydriver.CUdevResource_st)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(CU_DEV_SM_RESOURCE_GROUP_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48455
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS_st:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
 *     if objType == CUdevResource_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48457
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
 *     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, 48457, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48458
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
 *     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, 48458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48457
 *     if objType == CU_DEV_SM_RESOURCE_GROUP_PARAMS:
 *         return sizeof(cydriver.CU_DEV_SM_RESOURCE_GROUP_PARAMS)
 *     if objType == CUdevResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource_st)
 *     if objType == CUdevResource_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48459
 *     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, 48459, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48460
 *         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, 48460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48459
 *     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":48461
 *     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, 48461, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48462
 *         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, 48462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48461
 *     if objType == CUdevResource_v1:
 *         return sizeof(cydriver.CUdevResource_v1)
 *     if objType == CUdevResource:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:
*/
  }

  /* "cuda/bindings/driver.pyx":48463
 *     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, 48463, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48464
 *         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, 48464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48463
 *     if objType == CUdevResource:
 *         return sizeof(cydriver.CUdevResource)
 *     if objType == CUlogsCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:
*/
  }

  /* "cuda/bindings/driver.pyx":48465
 *     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, 48465, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48466
 *         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, 48466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48465
 *     if objType == CUlogsCallbackHandle:
 *         return sizeof(cydriver.CUlogsCallbackHandle)
 *     if objType == CUlogsCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:
*/
  }

  /* "cuda/bindings/driver.pyx":48467
 *     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, 48467, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48468
 *         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, 48468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48467
 *     if objType == CUlogsCallback:
 *         return sizeof(cydriver.CUlogsCallback)
 *     if objType == CUlogIterator:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:
*/
  }

  /* "cuda/bindings/driver.pyx":48469
 *     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, 48469, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48470
 *         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, 48470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48469
 *     if objType == CUlogIterator:
 *         return sizeof(cydriver.CUlogIterator)
 *     if objType == CUeglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
*/
  }

  /* "cuda/bindings/driver.pyx":48471
 *     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, 48471, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48472
 *         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, 48472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48471
 *     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":48473
 *     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, 48473, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48474
 *         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, 48474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48473
 *     if objType == CUeglFrame_v1:
 *         return sizeof(cydriver.CUeglFrame_v1)
 *     if objType == CUeglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:
*/
  }

  /* "cuda/bindings/driver.pyx":48475
 *     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, 48475, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48476
 *         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, 48476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48475
 *     if objType == CUeglFrame:
 *         return sizeof(cydriver.CUeglFrame)
 *     if objType == CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:
*/
  }

  /* "cuda/bindings/driver.pyx":48477
 *     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, 48477, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48478
 *         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, 48478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48477
 *     if objType == CUeglStreamConnection:
 *         return sizeof(cydriver.CUeglStreamConnection)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:
*/
  }

  /* "cuda/bindings/driver.pyx":48479
 *     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, 48479, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48480
 *         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, 48480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48479
 *     if objType == GLenum:
 *         return sizeof(cydriver.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":48481
 *     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, 48481, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48482
 *         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, 48482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48481
 *     if objType == GLuint:
 *         return sizeof(cydriver.GLuint)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":48483
 *     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, 48483, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48484
 *         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, 48484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48483
 *     if objType == EGLImageKHR:
 *         return sizeof(cydriver.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:
*/
  }

  /* "cuda/bindings/driver.pyx":48485
 *     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, 48485, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48486
 *         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, 48486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48485
 *     if objType == EGLStreamKHR:
 *         return sizeof(cydriver.EGLStreamKHR)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:
*/
  }

  /* "cuda/bindings/driver.pyx":48487
 *     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, 48487, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48488
 *         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, 48488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48487
 *     if objType == EGLint:
 *         return sizeof(cydriver.EGLint)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:
*/
  }

  /* "cuda/bindings/driver.pyx":48489
 *     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, 48489, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48490
 *         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, 48490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48489
 *     if objType == EGLSyncKHR:
 *         return sizeof(cydriver.EGLSyncKHR)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:
*/
  }

  /* "cuda/bindings/driver.pyx":48491
 *     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, 48491, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48492
 *         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, 48492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48491
 *     if objType == VdpDevice:
 *         return sizeof(cydriver.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
*/
  }

  /* "cuda/bindings/driver.pyx":48493
 *     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, 48493, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48494
 *         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, 48494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48493
 *     if objType == VdpGetProcAddress:
 *         return sizeof(cydriver.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
*/
  }

  /* "cuda/bindings/driver.pyx":48495
 *     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, 48495, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/bindings/driver.pyx":48496
 *         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, 48496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/bindings/driver.pyx":48495
 *     if objType == VdpVideoSurface:
 *         return sizeof(cydriver.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(cydriver.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))
*/
  }

  /* "cuda/bindings/driver.pyx":48497
 *     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_t_4 = __Pyx_PyObject_Unicode(__pyx_v_objType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unknown_type, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __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, 48497, __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, 48497, __pyx_L1_error)

  /* "cuda/bindings/driver.pyx":47931
 * 
 * 
 * @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_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":48501
 * 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, 48501, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48501, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48501, __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, 48501, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48501, __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, 48501, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48501, __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, 48501, __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":48503
 *     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, 48503, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48503, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48503, __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, 48503, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48503, __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, 48503, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48503, __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, 48503, __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":48505
 *     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, 48505, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48505, __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, 48505, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48505, __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, 48505, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48505, __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, 48505, __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":48507
 *     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, 48507, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48507, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48507, __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, 48507, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48507, __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, 48507, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48507, __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, 48507, __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":48509
 *     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, 48509, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48509, __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, 48509, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48509, __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, 48509, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48509, __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, 48509, __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":48511
 *     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, 48511, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48511, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48511, __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, 48511, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48511, __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, 48511, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48511, __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, 48511, __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":48513
 *     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, 48513, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48513, __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, 48513, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48513, __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, 48513, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48513, __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, 48513, __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":48515
 *     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, 48515, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48515, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48515, __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, 48515, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48515, __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, 48515, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48515, __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, 48515, __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":48517
 *     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, 48517, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48517, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48517, __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, 48517, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48517, __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, 48517, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48517, __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, 48517, __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":48519
 *     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, 48519, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48519, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48519, __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, 48519, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48519, __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, 48519, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48519, __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, 48519, __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":48521
 *     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, 48521, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48521, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48521, __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, 48521, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48521, __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, 48521, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48521, __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, 48521, __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":48523
 *     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, 48523, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48523, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48523, __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, 48523, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48523, __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, 48523, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48523, __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, 48523, __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":48525
 *     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, 48525, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48525, __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, 48525, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48525, __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, 48525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48525, __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, 48525, __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":48527
 *     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, 48527, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48527, __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, 48527, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48527, __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, 48527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48527, __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, 48527, __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":48529
 *     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, 48529, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48529, __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, 48529, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48529, __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, 48529, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48529, __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, 48529, __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":48531
 *     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, 48531, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48531, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48531, __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, 48531, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48531, __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, 48531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48531, __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, 48531, __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":48533
 *     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, 48533, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48533, __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, 48533, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48533, __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, 48533, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48533, __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, 48533, __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":48535
 *     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, 48535, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48535, __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, 48535, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48535, __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, 48535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48535, __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, 48535, __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":48537
 *     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, 48537, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48537, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48537, __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, 48537, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48537, __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, 48537, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48537, __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, 48537, __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":48539
 *     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, 48539, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48539, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48539, __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, 48539, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48539, __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, 48539, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48539, __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, 48539, __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":48541
 *     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, 48541, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48541, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48541, __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, 48541, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48541, __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, 48541, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48541, __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, 48541, __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":48543
 *     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, 48543, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48543, __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, 48543, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48543, __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, 48543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48543, __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, 48543, __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":48545
 *     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, 48545, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48545, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48545, __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, 48545, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48545, __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, 48545, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48545, __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, 48545, __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":48547
 *     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, 48547, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48547, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48547, __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, 48547, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48547, __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, 48547, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48547, __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, 48547, __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":48549
 *     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, 48549, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48549, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48549, __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, 48549, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48549, __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, 48549, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48549, __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, 48549, __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":48551
 *     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, 48551, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48551, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48551, __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, 48551, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48551, __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, 48551, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48551, __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, 48551, __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":48553
 *     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, 48553, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48553, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48553, __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, 48553, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48553, __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, 48553, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48553, __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, 48553, __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":48555
 *     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, 48555, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48555, __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, 48555, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48555, __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, 48555, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48555, __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, 48555, __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":48557
 *     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, 48557, __pyx_L3_error)
    if (__pyx_kwds_len > 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, 48557, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_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, 48557, __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, 48557, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 48557, __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, 48557, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_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, 48557, __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, 48557, __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":48499
 *     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;
  Py_ssize_t __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("_add_native_handle_getters", 0);

  /* "cuda/bindings/driver.pyx":48500
 * 
 * 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)
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter};
    __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_cuda_bindings_utils, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48500, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_t_2;
  __Pyx_GOTREF(__pyx_t_1);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_add_cuda_native_handle_getter};
    __pyx_t_3 = 0; {
      __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_1, __pyx_imported_names[__pyx_t_3]); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48500, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      switch (__pyx_t_3) {
        case 0:
        __Pyx_INCREF(__pyx_t_4);
        __pyx_v__add_cuda_native_handle_getter = __pyx_t_4;
        break;
        default:;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48501
 * 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_1 = __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[196])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUcontext_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48502
 *     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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcontext), __pyx_v_CUcontext_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48503
 *     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_1 = __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[197])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUmodule_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48504
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmodule), __pyx_v_CUmodule_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48505
 *     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_1 = __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[198])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUfunction_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48506
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUfunction), __pyx_v_CUfunction_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48507
 *     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_1 = __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[199])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUlibrary_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48508
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary), __pyx_v_CUlibrary_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48509
 *     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_1 = __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[200])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUkernel_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48510
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUkernel), __pyx_v_CUkernel_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48511
 *     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_1 = __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[201])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUarray_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48512
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUarray), __pyx_v_CUarray_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48513
 *     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_1 = __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[202])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUmipmappedArray_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48514
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray), __pyx_v_CUmipmappedArray_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48515
 *     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_1 = __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[203])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUtexref_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48516
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUtexref), __pyx_v_CUtexref_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48517
 *     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_1 = __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[204])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUsurfref_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48518
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref), __pyx_v_CUsurfref_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48519
 *     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_1 = __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[205])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUevent_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48520
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUevent), __pyx_v_CUevent_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48521
 *     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_1 = __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[206])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUstream_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48522
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUstream), __pyx_v_CUstream_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48523
 *     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_1 = __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[207])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgraphicsResource_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48524
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource), __pyx_v_CUgraphicsResource_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48525
 *     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_1 = __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[208])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUexternalMemory_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48526
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory), __pyx_v_CUexternalMemory_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48527
 *     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_1 = __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[209])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUexternalSemaphore_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48528
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore), __pyx_v_CUexternalSemaphore_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48529
 *     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_1 = __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[210])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgraph_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48530
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraph), __pyx_v_CUgraph_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48531
 *     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_1 = __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[211])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgraphNode_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48532
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode), __pyx_v_CUgraphNode_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48533
 *     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_1 = __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[212])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgraphExec_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48534
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec), __pyx_v_CUgraphExec_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48535
 *     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_1 = __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[213])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUmemoryPool_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48536
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool), __pyx_v_CUmemoryPool_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48537
 *     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_1 = __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[214])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUuserObject_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48538
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject), __pyx_v_CUuserObject_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48539
 *     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_1 = __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[215])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgraphDeviceNode_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48540
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode), __pyx_v_CUgraphDeviceNode_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48541
 *     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_1 = __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[216])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUasyncCallbackHandle_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48542
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle), __pyx_v_CUasyncCallbackHandle_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48543
 *     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_1 = __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[217])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUgreenCtx_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48544
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx), __pyx_v_CUgreenCtx_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48545
 *     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_1 = __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[218])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUlinkState_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48546
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState), __pyx_v_CUlinkState_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48547
 *     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_1 = __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[219])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUdevResourceDesc_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48548
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc), __pyx_v_CUdevResourceDesc_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48549
 *     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_1 = __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[220])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUlogsCallbackHandle_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48550
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle), __pyx_v_CUlogsCallbackHandle_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48551
 *     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_1 = __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[221])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_CUeglStreamConnection_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48552
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection), __pyx_v_CUeglStreamConnection_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48553
 *     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_1 = __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[222])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_EGLImageKHR_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48554
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR), __pyx_v_EGLImageKHR_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48555
 *     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_1 = __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[223])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_EGLStreamKHR_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48556
 *     _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_5 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_4 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR), __pyx_v_EGLStreamKHR_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __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_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48557
 *     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_1 = __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[224])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_EGLSyncKHR_getter = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48558
 *     _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_4 = NULL;
  __Pyx_INCREF(__pyx_v__add_cuda_native_handle_getter);
  __pyx_t_5 = __pyx_v__add_cuda_native_handle_getter; 
  __pyx_t_6 = 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_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR), __pyx_v_EGLSyncKHR_getter};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__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_1)) __PYX_ERR(0, 48558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/bindings/driver.pyx":48559
 *     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":48499
 *     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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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},
  {"__cuda_stream__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_17__cuda_stream__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_16__cuda_stream__},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_19__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_18__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_8CUstream_21__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_8CUstream_20__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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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    See CUstreamWaitValue_flags.\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*/
  0, /*tp_vectorcall_offset*/
  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    See CUstreamWaitValue_flags.\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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    See CUstreamWriteValue_flags.\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*/
  0, /*tp_vectorcall_offset*/
  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    See CUstreamWriteValue_flags.\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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    Must be 0.\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*/
  0, /*tp_vectorcall_offset*/
  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    Must be 0.\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_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_37CUstreamMemOpAtomicReductionParams_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_CUstreamMemOpAtomicReductionParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_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->_alias);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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->_alias) {
    e = (*v)(((PyObject *)p->_alias), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_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_37CUstreamMemOpAtomicReductionParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_reductionOp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_reductionOp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11reductionOp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_dataType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_dataType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_8dataType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_alias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_alias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_5alias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st[] = {
  {"operation", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_operation, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_operation, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_flags, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_flags, 0, 0},
  {"reductionOp", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_reductionOp, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_reductionOp, 0, 0},
  {"dataType", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_dataType, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_dataType, 0, 0},
  {"address", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_address, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_address, 0, 0},
  {"value", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_value, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_value, 0, 0},
  {"alias", __pyx_getprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_alias, __pyx_setprop_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_alias, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpAtomicReductionParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nflags : unsigned int\n    Must be 0\nreductionOp : CUstreamAtomicReductionOpType\n    See CUstreamAtomicReductionOpType\ndataType : CUstreamAtomicReductionDataType\n    See CUstreamAtomicReductionDataType\naddress : CUdeviceptr\n    The address the atomic operation will be operated on\nvalue : cuuint64_t\n    The operand value the atomic operation will operate with\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_CUstreamMemOpAtomicReductionParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st_spec = {
  "cuda.bindings.driver.CUstreamMemOpAtomicReductionParams_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_CUstreamMemOpAtomicReductionParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUstreamMemOpAtomicReductionParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_37CUstreamMemOpAtomicReductionParams_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("CUstreamMemOpAtomicReductionParams_st(void_ptr _ptr)\n\nAttributes\n----------\noperation : CUstreamBatchMemOpType\n\nflags : unsigned int\n    Must be 0\nreductionOp : CUstreamAtomicReductionOpType\n    See CUstreamAtomicReductionOpType\ndataType : CUstreamAtomicReductionDataType\n    See CUstreamAtomicReductionDataType\naddress : CUdeviceptr\n    The address the atomic operation will be operated on\nvalue : cuuint64_t\n    The operand value the atomic operation will operate with\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_CUstreamMemOpAtomicReductionParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_37CUstreamMemOpAtomicReductionParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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);
  p->_atomicReduction = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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(__Pyx_PyObject_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);
  Py_CLEAR(p->_atomicReduction);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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;
  }
  if (p->_atomicReduction) {
    e = (*v)(((PyObject *)p->_atomicReduction), 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);
  tmp = ((PyObject*)p->_atomicReduction);
  p->_atomicReduction = ((struct __pyx_obj_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_atomicReduction(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_atomicReduction(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_15atomicReduction_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},
  {"atomicReduction", __pyx_getprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_atomicReduction, __pyx_setprop_4cuda_8bindings_6driver_30CUstreamBatchMemOpParams_union_atomicReduction, 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    Operation. This is the first field of all the union elemets and\n    acts as a TAG to determine which union member is valid.\nwaitValue : CUstreamMemOpWaitValueParams_st\n    Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n    CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\nwriteValue : CUstreamMemOpWriteValueParams_st\n    Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n    CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\nflushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n    Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\nmemoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n    Params for CU_STREAM_MEM_OP_BARRIER operations.\natomicReduction : CUstreamMemOpAtomicReductionParams_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*/
  0, /*tp_vectorcall_offset*/
  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    Operation. This is the first field of all the union elemets and\n    acts as a TAG to determine which union member is valid.\nwaitValue : CUstreamMemOpWaitValueParams_st\n    Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n    CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\nwriteValue : CUstreamMemOpWriteValueParams_st\n    Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n    CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\nflushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n    Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\nmemoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n    Params for CU_STREAM_MEM_OP_BARRIER operations.\natomicReduction : CUstreamMemOpAtomicReductionParams_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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\nBatch memory operation node parameters  Used in the legacy\ncuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\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*/
  0, /*tp_vectorcall_offset*/
  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\nBatch memory operation node parameters  Used in the legacy\ncuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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 PyObject *__pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_nvlinkUtilCentricScheduling(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_nvlinkUtilCentricScheduling(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_27nvlinkUtilCentricScheduling_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},
  {"nvlinkUtilCentricScheduling", __pyx_getprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_nvlinkUtilCentricScheduling, __pyx_setprop_4cuda_8bindings_6driver_28CUlaunchAttributeValue_union_nvlinkUtilCentricScheduling, 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.\nnvlinkUtilCentricScheduling : unsigned int\n\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*/
  0, /*tp_vectorcall_offset*/
  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.\nnvlinkUtilCentricScheduling : unsigned int\n\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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\n128 bytes.\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*/
  0, /*tp_vectorcall_offset*/
  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\n128 bytes.\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointGpuPair_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_oldUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)Py_None); Py_INCREF(Py_None);
  p->_newUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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_CUcheckpointGpuPair_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_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->_oldUuid);
  Py_CLEAR(p->_newUuid);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointGpuPair_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_oldUuid) {
    e = (*v)(((PyObject *)p->_oldUuid), a); if (e) return e;
  }
  if (p->_newUuid) {
    e = (*v)(((PyObject *)p->_newUuid), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointGpuPair_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st *)o;
  tmp = ((PyObject*)p->_oldUuid);
  p->_oldUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_newUuid);
  p->_newUuid = ((struct __pyx_obj_4cuda_8bindings_6driver_CUuuid *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_oldUuid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_oldUuid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7oldUuid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_newUuid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_newUuid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7newUuid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUcheckpointGpuPair_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointGpuPair_st[] = {
  {"oldUuid", __pyx_getprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_oldUuid, __pyx_setprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_oldUuid, 0, 0},
  {"newUuid", __pyx_getprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_newUuid, __pyx_setprop_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_newUuid, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcheckpointGpuPair_st(void_ptr _ptr=0)\n\nCUDA checkpoint GPU UUID pairs for device remapping during restore\n\nAttributes\n----------\noldUuid : CUuuid\n    UUID of the GPU that was checkpointed\nnewUuid : CUuuid\n    UUID of the GPU to restore onto\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_st_spec = {
  "cuda.bindings.driver.CUcheckpointGpuPair_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_CUcheckpointGpuPair_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointGpuPair_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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("CUcheckpointGpuPair_st(void_ptr _ptr=0)\n\nCUDA checkpoint GPU UUID pairs for device remapping during restore\n\nAttributes\n----------\noldUuid : CUuuid\n    UUID of the GPU that was checkpointed\nnewUuid : CUuuid\n    UUID of the GPU to restore onto\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointGpuPair_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_reserved1 = ((struct __pyx_obj_4cuda_8bindings_6driver_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  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(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__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_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_26CUcheckpointRestoreArgs_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->_reserved1);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_reserved1) {
    e = (*v)(((PyObject *)p->_reserved1), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st *)o;
  tmp = ((PyObject*)p->_reserved1);
  p->_reserved1 = ((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_26CUcheckpointRestoreArgs_st_gpuPairs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_8gpuPairs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairsCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairsCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_13gpuPairsCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

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 PyObject *__pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_9reserved1_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[] = {
  {"gpuPairs", __pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairs, __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairs, 0, 0},
  {"gpuPairsCount", __pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairsCount, __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_gpuPairsCount, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved, 0, 0},
  {"reserved1", __pyx_getprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved1, __pyx_setprop_4cuda_8bindings_6driver_26CUcheckpointRestoreArgs_st_reserved1, 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----------\ngpuPairs : CUcheckpointGpuPair\n    Pointer to array of gpu pairs that indicate how to remap GPUs\n    during restore\ngpuPairsCount : unsigned int\n    Number of gpu pairs to remap\nreserved : bytes\n    Reserved for future use, must be zeroed\nreserved1 : cuuint64_t\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {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|Py_TPFLAGS_HAVE_GC,
  __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*/
  0, /*tp_vectorcall_offset*/
  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|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("CUcheckpointRestoreArgs_st(void_ptr _ptr=0)\n\nCUDA checkpoint optional restore arguments\n\nAttributes\n----------\ngpuPairs : CUcheckpointGpuPair\n    Pointer to array of gpu pairs that indicate how to remap GPUs\n    during restore\ngpuPairsCount : unsigned int\n    Number of gpu pairs to remap\nreserved : bytes\n    Reserved for future use, must be zeroed\nreserved1 : cuuint64_t\n    Reserved for future use, must be zeroed\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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 PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_minSmPartitionSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_minSmPartitionSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_18minSmPartitionSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCoscheduledAlignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCoscheduledAlignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_22smCoscheduledAlignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_18CUdevSmResource_st_5flags_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},
  {"minSmPartitionSize", __pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_minSmPartitionSize, __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_minSmPartitionSize, 0, 0},
  {"smCoscheduledAlignment", __pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCoscheduledAlignment, __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_smCoscheduledAlignment, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_18CUdevSmResource_st_flags, __pyx_setprop_4cuda_8bindings_6driver_18CUdevSmResource_st_flags, 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.\nminSmPartitionSize : unsigned int\n    The minimum number of streaming multiprocessors required to\n    partition this resource.\nsmCoscheduledAlignment : unsigned int\n    The number of streaming multiprocessors in this resource that are\n    guaranteed to be co-scheduled on the same GPU processing cluster.\n    smCount will be a multiple of this value, unless the backfill flag\n    is set.\nflags : unsigned int\n    The flags set on this SM resource. For possible values see\n    ::CUdevSmResourceGroup_flags.\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*/
  0, /*tp_vectorcall_offset*/
  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.\nminSmPartitionSize : unsigned int\n    The minimum number of streaming multiprocessors required to\n    partition this resource.\nsmCoscheduledAlignment : unsigned int\n    The number of streaming multiprocessors in this resource that are\n    guaranteed to be co-scheduled on the same GPU processing cluster.\n    smCount will be a multiple of this value, unless the backfill flag\n    is set.\nflags : unsigned int\n    The flags set on this SM resource. For possible values see\n    ::CUdevSmResourceGroup_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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  p->_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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_CUdevWorkqueueConfigResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_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->_device);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_device) {
    e = (*v)(((PyObject *)p->_device), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st *)o;
  tmp = ((PyObject*)p->_device);
  p->_device = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevice *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_device(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_device(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6device_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_wqConcurrencyLimit(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_wqConcurrencyLimit(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_18wqConcurrencyLimit_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_sharingScope(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_sharingScope(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12sharingScope_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st[] = {
  {"device", __pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_device, __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_device, 0, 0},
  {"wqConcurrencyLimit", __pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_wqConcurrencyLimit, __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_wqConcurrencyLimit, 0, 0},
  {"sharingScope", __pyx_getprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_sharingScope, __pyx_setprop_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_sharingScope, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevWorkqueueConfigResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\ndevice : CUdevice\n    The device on which the workqueue resources are available\nwqConcurrencyLimit : unsigned int\n    The expected maximum number of concurrent stream-ordered workloads\nsharingScope : CUdevWorkqueueConfigScope\n    The sharing scope for the workqueue resources\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st_spec = {
  "cuda.bindings.driver.CUdevWorkqueueConfigResource_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_CUdevWorkqueueConfigResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevWorkqueueConfigResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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("CUdevWorkqueueConfigResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\ndevice : CUdevice\n    The device on which the workqueue resources are available\nwqConcurrencyLimit : unsigned int\n    The expected maximum number of concurrent stream-ordered workloads\nsharingScope : CUdevWorkqueueConfigScope\n    The sharing scope for the workqueue resources\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance"), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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_CUdevWorkqueueResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__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_CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CUdevWorkqueueResource_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueResource_st[] = {
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevWorkqueueResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\nreserved : bytes\n    Reserved for future use\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CUdevWorkqueueResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st_spec = {
  "cuda.bindings.driver.CUdevWorkqueueResource_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_CUdevWorkqueueResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevWorkqueueResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueResource_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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("CUdevWorkqueueResource_st(void_ptr _ptr=0)\n\nAttributes\n----------\nreserved : bytes\n    Reserved for future 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_CUdevWorkqueueResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_25CUdevWorkqueueResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueResource_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)o);
  __Pyx_default_placement_construct(&(p->_pvt_val));
  if (unlikely(__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *p = (struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__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_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_pvt_val);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_smCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_smCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7smCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_coscheduledSmCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_coscheduledSmCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_18coscheduledSmCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_preferredCoscheduledSmCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_preferredCoscheduledSmCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_27preferredCoscheduledSmCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st[] = {
  {"smCount", __pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_smCount, __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_smCount, 0, 0},
  {"coscheduledSmCount", __pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_coscheduledSmCount, __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_coscheduledSmCount, 0, 0},
  {"preferredCoscheduledSmCount", __pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_preferredCoscheduledSmCount, __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_preferredCoscheduledSmCount, 0, 0},
  {"flags", __pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_flags, __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_flags, 0, 0},
  {"reserved", __pyx_getprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_reserved, __pyx_setprop_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_reserved, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CU_DEV_SM_RESOURCE_GROUP_PARAMS_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsmCount : unsigned int\n    The amount of SMs available in this resource.\ncoscheduledSmCount : unsigned int\n    The amount of co-scheduled SMs grouped together for locality\n    purposes.\npreferredCoscheduledSmCount : unsigned int\n    When possible, combine co-scheduled groups together into larger\n    groups of this size.\nflags : unsigned int\n    Combination of `CUdevSmResourceGroup_flags` values to indicate this\n    this group is created.\nreserved : list[unsigned int]\n    Reserved for future use - ensure this is is zero initialized.\n\nMethods\n-------\ngetPtr()\n    Get memory address of class instance")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_spec = {
  "cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CU_DEV_SM_RESOURCE_GROUP_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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("CU_DEV_SM_RESOURCE_GROUP_PARAMS_st(void_ptr _ptr=0)\n\nAttributes\n----------\nsmCount : unsigned int\n    The amount of SMs available in this resource.\ncoscheduledSmCount : unsigned int\n    The amount of co-scheduled SMs grouped together for locality\n    purposes.\npreferredCoscheduledSmCount : unsigned int\n    When possible, combine co-scheduled groups together into larger\n    groups of this size.\nflags : unsigned int\n    Combination of `CUdevSmResourceGroup_flags` values to indicate this\n    this group is created.\nreserved : list[unsigned int]\n    Reserved for future use - ensure this is is zero initialized.\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_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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);
  p->_wqConfig = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *)Py_None); Py_INCREF(Py_None);
  p->_wq = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *)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(__Pyx_PyObject_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);
  Py_CLEAR(p->_wqConfig);
  Py_CLEAR(p->_wq);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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;
  }
  if (p->_wqConfig) {
    e = (*v)(((PyObject *)p->_wqConfig), a); if (e) return e;
  }
  if (p->_wq) {
    e = (*v)(((PyObject *)p->_wq), 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);
  tmp = ((PyObject*)p->_wqConfig);
  p->_wqConfig = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_wq);
  p->_wq = ((struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource *)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_wqConfig(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_wqConfig(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_8wqConfig_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_wq(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_wq(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_2wq_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 PyObject *__pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_nextResource(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_1__get__(o);
}

static int __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_nextResource(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_8bindings_6driver_16CUdevResource_st_12nextResource_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},
  {"wqConfig", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_wqConfig, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_wqConfig, 0, 0},
  {"wq", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_wq, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_wq, 0, 0},
  {"_oversize", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st__oversize, 0, 0},
  {"nextResource", __pyx_getprop_4cuda_8bindings_6driver_16CUdevResource_st_nextResource, __pyx_setprop_4cuda_8bindings_6driver_16CUdevResource_st_nextResource, 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`.\nwqConfig : CUdevWorkqueueConfigResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n    `typename`.\nwq : CUdevWorkqueueResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n    `typename`.\n_oversize : bytes\n\nnextResource : CUdevResource_st\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*/
  0, /*tp_vectorcall_offset*/
  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`.\nwqConfig : CUdevWorkqueueConfigResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n    `typename`.\nwq : CUdevWorkqueueResource\n    Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n    `typename`.\n_oversize : bytes\n\nnextResource : CUdevResource_st\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__Pyx_PyObject_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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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        Operation. This is the first field of all the union elemets and\n        acts as a TAG to determine which union member is valid.\n    waitValue : CUstreamMemOpWaitValueParams_st\n        Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n        CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\n    writeValue : CUstreamMemOpWriteValueParams_st\n        Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n        CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n        Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n        Params for CU_STREAM_MEM_OP_BARRIER operations.\n    atomicReduction : CUstreamMemOpAtomicReductionParams_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n        Operation. This is the first field of all the union elemets and\n        acts as a TAG to determine which union member is valid.\n    waitValue : CUstreamMemOpWaitValueParams_st\n        Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n        CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\n    writeValue : CUstreamMemOpWriteValueParams_st\n        Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n        CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n        Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n        Params for CU_STREAM_MEM_OP_BARRIER operations.\n    atomicReduction : CUstreamMemOpAtomicReductionParams_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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        Operation. This is the first field of all the union elemets and\n        acts as a TAG to determine which union member is valid.\n    waitValue : CUstreamMemOpWaitValueParams_st\n        Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n        CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\n    writeValue : CUstreamMemOpWriteValueParams_st\n        Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n        CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n        Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n        Params for CU_STREAM_MEM_OP_BARRIER operations.\n    atomicReduction : CUstreamMemOpAtomicReductionParams_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n        Operation. This is the first field of all the union elemets and\n        acts as a TAG to determine which union member is valid.\n    waitValue : CUstreamMemOpWaitValueParams_st\n        Params for CU_STREAM_MEM_OP_WAIT_VALUE_32 and\n        CU_STREAM_MEM_OP_WAIT_VALUE_64 operations.\n    writeValue : CUstreamMemOpWriteValueParams_st\n        Params for CU_STREAM_MEM_OP_WRITE_VALUE_32 and\n        CU_STREAM_MEM_OP_WRITE_VALUE_64 operations.\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n        Params for CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES operations.\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n        Params for CU_STREAM_MEM_OP_BARRIER operations.\n    atomicReduction : CUstreamMemOpAtomicReductionParams_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    Batch memory operation node parameters  Used in the legacy\n    cuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\n\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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Batch memory operation node parameters  Used in the legacy\n    cuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\n\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    Batch memory operation node parameters  Used in the legacy\n    cuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\n\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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Batch memory operation node parameters  Used in the legacy\n    cuGraphAddBatchMemOpNode api. New code should use cuGraphAddNode()\n\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    nvlinkUtilCentricScheduling : 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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    nvlinkUtilCentricScheduling : 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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    nvlinkUtilCentricScheduling : 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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    nvlinkUtilCentricScheduling : 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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    nvlinkUtilCentricScheduling : 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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    nvlinkUtilCentricScheduling : 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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    nvlinkUtilCentricScheduling : 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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    nvlinkUtilCentricScheduling : 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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    nvlinkUtilCentricScheduling : 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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    nvlinkUtilCentricScheduling : 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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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\n    128 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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Tensor map descriptor. Requires compiler support for aligning to\n    128 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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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_CUcheckpointGpuPair_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA checkpoint GPU UUID pairs for device remapping during restore\n\n    Attributes\n    ----------\n    oldUuid : CUuuid\n        UUID of the GPU that was checkpointed\n    newUuid : CUuuid\n        UUID of the GPU to restore onto\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointGpuPair_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_spec = {
  "cuda.bindings.driver.CUcheckpointGpuPair",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair),
  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_CUcheckpointGpuPair_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUcheckpointGpuPair", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUcheckpointGpuPair), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_22CUcheckpointGpuPair_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, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint GPU UUID pairs for device remapping during restore\n\n    Attributes\n    ----------\n    oldUuid : CUuuid\n        UUID of the GPU that was checkpointed\n    newUuid : CUuuid\n        UUID of the GPU to restore onto\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointGpuPair_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_22CUcheckpointGpuPair_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUcheckpointGpuPair_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    gpuPairs : CUcheckpointGpuPair\n        Pointer to array of gpu pairs that indicate how to remap GPUs\n        during restore\n    gpuPairsCount : unsigned int\n        Number of gpu pairs to remap\n    reserved : bytes\n        Reserved for future use, must be zeroed\n    reserved1 : 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_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st},
  {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_GC,
  __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*/
  0, /*tp_vectorcall_offset*/
  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_GC, /*tp_flags*/
  PyDoc_STR("\n    CUDA checkpoint optional restore arguments\n\n    Attributes\n    ----------\n    gpuPairs : CUcheckpointGpuPair\n        Pointer to array of gpu pairs that indicate how to remap GPUs\n        during restore\n    gpuPairsCount : unsigned int\n        Number of gpu pairs to remap\n    reserved : bytes\n        Reserved for future use, must be zeroed\n    reserved1 : 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*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    minSmPartitionSize : unsigned int\n        The minimum number of streaming multiprocessors required to\n        partition this resource.\n    smCoscheduledAlignment : unsigned int\n        The number of streaming multiprocessors in this resource that are\n        guaranteed to be co-scheduled on the same GPU processing cluster.\n        smCount will be a multiple of this value, unless the backfill flag\n        is set.\n    flags : unsigned int\n        The flags set on this SM resource. For possible values see\n        ::CUdevSmResourceGroup_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n    minSmPartitionSize : unsigned int\n        The minimum number of streaming multiprocessors required to\n        partition this resource.\n    smCoscheduledAlignment : unsigned int\n        The number of streaming multiprocessors in this resource that are\n        guaranteed to be co-scheduled on the same GPU processing cluster.\n        smCount will be a multiple of this value, unless the backfill flag\n        is set.\n    flags : unsigned int\n        The flags set on this SM resource. For possible values see\n        ::CUdevSmResourceGroup_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_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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_CUdevWorkqueueConfigResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    device : CUdevice\n        The device on which the workqueue resources are available\n    wqConcurrencyLimit : unsigned int\n        The expected maximum number of concurrent stream-ordered workloads\n    sharingScope : CUdevWorkqueueConfigScope\n        The sharing scope for the workqueue resources\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_spec = {
  "cuda.bindings.driver.CUdevWorkqueueConfigResource",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource),
  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_CUdevWorkqueueConfigResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevWorkqueueConfigResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_31CUdevWorkqueueConfigResource_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, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    device : CUdevice\n        The device on which the workqueue resources are available\n    wqConcurrencyLimit : unsigned int\n        The expected maximum number of concurrent stream-ordered workloads\n    sharingScope : CUdevWorkqueueConfigScope\n        The sharing scope for the workqueue resources\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_31CUdevWorkqueueConfigResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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_CUdevWorkqueueResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueResource_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    reserved : bytes\n        Reserved for future 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_CUdevWorkqueueResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_spec = {
  "cuda.bindings.driver.CUdevWorkqueueResource",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CUdevWorkqueueResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CUdevWorkqueueResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CUdevWorkqueueResource_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_25CUdevWorkqueueResource_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, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    reserved : bytes\n        Reserved for future 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_25CUdevWorkqueueResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CUdevWorkqueueResource_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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_CU_DEV_SM_RESOURCE_GROUP_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of SMs available in this resource.\n    coscheduledSmCount : unsigned int\n        The amount of co-scheduled SMs grouped together for locality\n        purposes.\n    preferredCoscheduledSmCount : unsigned int\n        When possible, combine co-scheduled groups together into larger\n        groups of this size.\n    flags : unsigned int\n        Combination of `CUdevSmResourceGroup_flags` values to indicate this\n        this group is created.\n    reserved : list[unsigned int]\n        Reserved for future use - ensure this is is zero initialized.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_spec = {
  "cuda.bindings.driver.CU_DEV_SM_RESOURCE_GROUP_PARAMS",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""CU_DEV_SM_RESOURCE_GROUP_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_8bindings_6driver_34CU_DEV_SM_RESOURCE_GROUP_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, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of SMs available in this resource.\n    coscheduledSmCount : unsigned int\n        The amount of co-scheduled SMs grouped together for locality\n        purposes.\n    preferredCoscheduledSmCount : unsigned int\n        When possible, combine co-scheduled groups together into larger\n        groups of this size.\n    flags : unsigned int\n        Combination of `CUdevSmResourceGroup_flags` values to indicate this\n        this group is created.\n    reserved : list[unsigned int]\n        Reserved for future use - ensure this is is zero initialized.\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_34CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    wqConfig : CUdevWorkqueueConfigResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n        `typename`.\n    wq : CUdevWorkqueueResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n        `typename`.\n    _oversize : bytes\n\n    nextResource : CUdevResource_st\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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    wqConfig : CUdevWorkqueueConfigResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n        `typename`.\n    wq : CUdevWorkqueueResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n        `typename`.\n    _oversize : bytes\n\n    nextResource : CUdevResource_st\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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    wqConfig : CUdevWorkqueueConfigResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n        `typename`.\n    wq : CUdevWorkqueueResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n        `typename`.\n    _oversize : bytes\n\n    nextResource : CUdevResource_st\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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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    wqConfig : CUdevWorkqueueConfigResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE_CONFIG\n        `typename`.\n    wq : CUdevWorkqueueResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_WORKQUEUE\n        `typename`.\n    _oversize : bytes\n\n    nextResource : CUdevResource_st\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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  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(__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);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #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*/
  0, /*tp_vectorcall_offset*/
  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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct__genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct__genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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_k);
  Py_CLEAR(p->__pyx_v_v);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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_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_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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_158_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_159_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_160_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_161_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_162_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_163_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_164_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_165_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_166_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_167_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_168_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_169_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_170_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_171_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_172_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_173_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_174_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_175_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_176_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_177_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_178_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_179_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_180_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_181_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_182_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_183_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, 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];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  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(__Pyx_PyObject_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_184_genexpr, 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
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #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,
  __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*/
  0, /*tp_vectorcall_offset*/
  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, /*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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_185_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_185_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_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_185_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_185_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_185_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_185_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_185_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_185_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_186_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_186_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_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_186_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_186_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_186_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_186_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_186_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_186_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_187_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_187_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_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_187_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_187_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_187_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_187_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_187_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_187_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_188_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_188_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_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_188_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_188_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_188_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_188_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_188_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_188_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_189_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_189_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_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_189_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_189_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_189_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_189_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_189_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_189_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_190_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_190_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_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_190_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_190_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_190_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_190_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_190_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_190_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_191_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_191_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_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_191_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_191_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_191_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_191_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_191_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_191_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_192_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_192_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_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_192_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_192_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_192_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_192_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_192_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_192_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_193_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_193_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_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_193_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_193_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_193_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_193_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_193_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_193_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_194_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_194_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_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_194_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_194_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_194_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_194_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_194_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_194_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_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_195_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr[--__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_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_195_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 (likely((int)(__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr, sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr[__pyx_mstate_global->__pyx_freecount_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr++] = ((struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr *p = (struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_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_195_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr_spec = {
  "cuda.bindings.driver.__pyx_scope_struct_195_genexpr",
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.bindings.driver.""__pyx_scope_struct_195_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_8bindings_6driver___pyx_scope_struct_195_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_8bindings_6driver___pyx_scope_struct_195_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_195_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 !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*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, 20, __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, 20, __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, 20, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams);
  #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, 20, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperKernelParams) < (0)) __PYX_ERR(1, 20, __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, 129, __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, 129, __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, 129, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr);
  #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, 129, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperInputVoidPtr) < (0)) __PYX_ERR(1, 129, __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, 157, __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, 157, __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, 157, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute);
  #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, 157, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemPool_attribute) < (0)) __PYX_ERR(1, 157, __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, 201, __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, 201, __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, 201, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute);
  #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, 201, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmem_range_attribute) < (0)) __PYX_ERR(1, 201, __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, 233, __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, 233, __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, 233, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute);
  #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, 233, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUpointer_attribute) < (0)) __PYX_ERR(1, 233, __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, 325, __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, 325, __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, 325, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute);
  #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, 325, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUgraphMem_attribute) < (0)) __PYX_ERR(1, 325, __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, 358, __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, 358, __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, 358, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option);
  #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, 358, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUjit_option) < (0)) __PYX_ERR(1, 358, __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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaJitOption);
  #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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUlibraryOption);
  #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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCudaLibraryOption);
  #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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUmemAllocationHandleType);
  #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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__InputVoidPtrPtrHelper);
  #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_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver__HelperCUcoredumpSettings);
  #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, 5533, __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, 5533, __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, 5533, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext);
  #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, 5533, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcontext) < (0)) __PYX_ERR(0, 5533, __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, 5567, __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, 5567, __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, 5567, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule);
  #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, 5567, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmodule) < (0)) __PYX_ERR(0, 5567, __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, 5601, __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, 5601, __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, 5601, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction);
  #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, 5601, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUfunction) < (0)) __PYX_ERR(0, 5601, __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, 5635, __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, 5635, __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, 5635, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary);
  #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, 5635, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibrary) < (0)) __PYX_ERR(0, 5635, __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, 5669, __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, 5669, __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, 5669, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel);
  #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, 5669, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernel) < (0)) __PYX_ERR(0, 5669, __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, 5703, __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, 5703, __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, 5703, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray);
  #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, 5703, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarray) < (0)) __PYX_ERR(0, 5703, __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, 5737, __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, 5737, __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, 5737, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray);
  #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, 5737, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmipmappedArray) < (0)) __PYX_ERR(0, 5737, __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, 5771, __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, 5771, __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, 5771, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref);
  #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, 5771, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexref) < (0)) __PYX_ERR(0, 5771, __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, 5805, __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, 5805, __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, 5805, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref);
  #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, 5805, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfref) < (0)) __PYX_ERR(0, 5805, __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, 5839, __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, 5839, __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, 5839, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent);
  #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, 5839, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUevent) < (0)) __PYX_ERR(0, 5839, __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, 5873, __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, 5873, __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, 5873, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream);
  #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, 5873, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstream) < (0)) __PYX_ERR(0, 5873, __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, 5909, __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, 5909, __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, 5909, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource);
  #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, 5909, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphicsResource) < (0)) __PYX_ERR(0, 5909, __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, 5943, __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, 5943, __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, 5943, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory);
  #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, 5943, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalMemory) < (0)) __PYX_ERR(0, 5943, __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, 5977, __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, 5977, __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, 5977, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore);
  #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, 5977, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexternalSemaphore) < (0)) __PYX_ERR(0, 5977, __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, 6011, __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, 6011, __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, 6011, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph);
  #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, 6011, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraph) < (0)) __PYX_ERR(0, 6011, __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, 6045, __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, 6045, __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, 6045, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode);
  #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, 6045, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNode) < (0)) __PYX_ERR(0, 6045, __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, 6079, __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, 6079, __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, 6079, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec);
  #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, 6079, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExec) < (0)) __PYX_ERR(0, 6079, __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, 6113, __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, 6113, __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, 6113, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool);
  #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, 6113, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemoryPool) < (0)) __PYX_ERR(0, 6113, __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, 6147, __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, 6147, __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, 6147, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject);
  #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, 6147, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuserObject) < (0)) __PYX_ERR(0, 6147, __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, 6181, __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, 6181, __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, 6181, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode);
  #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, 6181, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphDeviceNode) < (0)) __PYX_ERR(0, 6181, __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, 6215, __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, 6215, __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, 6215, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle);
  #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, 6215, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallbackHandle) < (0)) __PYX_ERR(0, 6215, __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, 6249, __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, 6249, __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, 6249, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx);
  #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, 6249, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgreenCtx) < (0)) __PYX_ERR(0, 6249, __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, 6283, __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, 6283, __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, 6283, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState);
  #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, 6283, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlinkState) < (0)) __PYX_ERR(0, 6283, __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, 6315, __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, 6315, __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, 6315, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc);
  #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, 6315, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResourceDesc) < (0)) __PYX_ERR(0, 6315, __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, 6349, __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, 6349, __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, 6349, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle);
  #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, 6349, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallbackHandle) < (0)) __PYX_ERR(0, 6349, __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, 6381, __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, 6381, __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, 6381, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection);
  #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, 6381, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglStreamConnection) < (0)) __PYX_ERR(0, 6381, __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, 6415, __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, 6415, __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, 6415, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR);
  #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, 6415, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLImageKHR) < (0)) __PYX_ERR(0, 6415, __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, 6447, __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, 6447, __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, 6447, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR);
  #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, 6447, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLStreamKHR) < (0)) __PYX_ERR(0, 6447, __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, 6479, __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, 6479, __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, 6479, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR);
  #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, 6479, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLSyncKHR) < (0)) __PYX_ERR(0, 6479, __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, 6511, __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, 6511, __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, 6511, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback);
  #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, 6511, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncCallback) < (0)) __PYX_ERR(0, 6511, __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, 6537, __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, 6537, __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, 6537, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn);
  #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, 6537, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUhostFn) < (0)) __PYX_ERR(0, 6537, __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, 6563, __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, 6563, __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, 6563, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback);
  #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, 6563, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamCallback) < (0)) __PYX_ERR(0, 6563, __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, 6589, __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, 6589, __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, 6589, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize);
  #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, 6589, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoccupancyB2DSize) < (0)) __PYX_ERR(0, 6589, __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, 6615, __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, 6615, __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, 6615, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback);
  #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, 6615, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogsCallback) < (0)) __PYX_ERR(0, 6615, __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, 6641, __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, 6641, __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, 6641, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st);
  #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, 6641, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid_st) < (0)) __PYX_ERR(0, 6641, __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, 6678, __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, 6678, __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, 6678, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st);
  #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, 6678, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_st) < (0)) __PYX_ERR(0, 6678, __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, 6726, __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, 6726, __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, 6726, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st);
  #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, 6726, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_st) < (0)) __PYX_ERR(0, 6726, __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, 6779, __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, 6779, __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, 6779, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st);
  #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, 6779, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_st) < (0)) __PYX_ERR(0, 6779, __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, 6832, __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, 6832, __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, 6832, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st);
  #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, 6832, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWaitValueParams_st) < (0)) __PYX_ERR(0, 6832, __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, 6976, __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, 6976, __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, 6976, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st);
  #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, 6976, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpWriteValueParams_st) < (0)) __PYX_ERR(0, 6976, __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, 7120, __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, 7120, __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, 7120, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st);
  #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, 7120, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpFlushRemoteWritesParams_st) < (0)) __PYX_ERR(0, 7120, __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, 7172, __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, 7172, __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, 7172, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st);
  #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, 7172, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpMemoryBarrierParams_st) < (0)) __PYX_ERR(0, 7172, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st)) __PYX_ERR(0, 7224, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st) < (0)) __PYX_ERR(0, 7224, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st = &__pyx_type_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_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_CUstreamMemOpAtomicReductionParams_st) < (0)) __PYX_ERR(0, 7224, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUstreamMemOpAtomicReductionPara, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st) < (0)) __PYX_ERR(0, 7224, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamMemOpAtomicReductionParams_st) < (0)) __PYX_ERR(0, 7224, __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, 7373, __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, 7373, __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, 7373, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union);
  #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, 7373, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_union) < (0)) __PYX_ERR(0, 7373, __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, 7498, __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, 7498, __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, 7498, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  #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, 7498, __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, 7498, __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, 7604, __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, 7604, __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, 7604, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  #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, 7604, __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, 7604, __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, 7709, __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, 7709, __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, 7709, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0);
  #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, 7709, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct0) < (0)) __PYX_ERR(0, 7709, __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, 7747, __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, 7747, __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, 7747, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2);
  #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, 7747, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union2) < (0)) __PYX_ERR(0, 7747, __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, 7786, __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, 7786, __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, 7786, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st);
  #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, 7786, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo_st) < (0)) __PYX_ERR(0, 7786, __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, 7846, __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, 7846, __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, 7846, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st);
  #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, 7846, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_st) < (0)) __PYX_ERR(0, 7846, __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, 7996, __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, 7996, __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, 7996, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st);
  #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, 7996, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_st) < (0)) __PYX_ERR(0, 7996, __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, 8103, __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, 8103, __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, 8103, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st);
  #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, 8103, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8103, __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, 8264, __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, 8264, __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, 8264, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2_st);
  #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, 8264, __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, 8264, __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, 8471, __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, 8471, __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, 8471, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3_st);
  #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, 8471, __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, 8471, __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, 8678, __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, 8678, __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, 8678, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st);
  #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, 8678, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8678, __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, 8791, __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, 8791, __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, 8791, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2_st);
  #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, 8791, __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, 8791, __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, 8926, __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, 8926, __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, 8926, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st);
  #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, 8926, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 8926, __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, 8991, __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, 8991, __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, 8991, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2_st);
  #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, 8991, __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, 8991, __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, 9056, __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, 9056, __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, 9056, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS);
  #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, 9056, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CONDITIONAL_NODE_PARAMS) < (0)) __PYX_ERR(0, 9056, __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, 9186, __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, 9186, __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, 9186, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st);
  #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, 9186, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData_st) < (0)) __PYX_ERR(0, 9186, __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, 9286, __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, 9286, __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, 9286, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  #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, 9286, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < (0)) __PYX_ERR(0, 9286, __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, 9397, __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, 9397, __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, 9397, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st);
  #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, 9397, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap_st) < (0)) __PYX_ERR(0, 9397, __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, 9457, __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, 9457, __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, 9457, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1);
  #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, 9457, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct1) < (0)) __PYX_ERR(0, 9457, __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, 9519, __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, 9519, __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, 9519, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2);
  #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, 9519, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct2) < (0)) __PYX_ERR(0, 9519, __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, 9591, __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, 9591, __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, 9591, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3);
  #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, 9591, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct3) < (0)) __PYX_ERR(0, 9591, __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, 9651, __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, 9651, __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, 9651, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4);
  #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, 9651, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct4) < (0)) __PYX_ERR(0, 9651, __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, 9713, __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, 9713, __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, 9713, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5);
  #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, 9713, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct5) < (0)) __PYX_ERR(0, 9713, __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, 9773, __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, 9773, __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, 9773, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union);
  #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, 9773, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue_union) < (0)) __PYX_ERR(0, 9773, __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, 10060, __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, 10060, __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, 10060, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st);
  #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, 10060, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute_st) < (0)) __PYX_ERR(0, 10060, __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, 10117, __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, 10117, __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, 10117, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st);
  #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, 10117, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig_st) < (0)) __PYX_ERR(0, 10117, __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, 10294, __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, 10294, __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, 10294, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st);
  #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, 10294, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_st) < (0)) __PYX_ERR(0, 10294, __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, 10336, __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, 10336, __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, 10336, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3);
  #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, 10336, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union3) < (0)) __PYX_ERR(0, 10336, __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, 10375, __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, 10375, __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, 10375, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st);
  #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, 10375, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_st) < (0)) __PYX_ERR(0, 10375, __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, 10434, __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, 10434, __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, 10434, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st);
  #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, 10434, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam_st) < (0)) __PYX_ERR(0, 10434, __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, 10491, __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, 10491, __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, 10491, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st);
  #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, 10491, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams_st) < (0)) __PYX_ERR(0, 10491, __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, 10592, __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, 10592, __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, 10592, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st);
  #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, 10592, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable_st) < (0)) __PYX_ERR(0, 10592, __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, 10670, __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, 10670, __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, 10670, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st);
  #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, 10670, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_st) < (0)) __PYX_ERR(0, 10670, __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, 10940, __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, 10940, __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, 10940, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st);
  #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, 10940, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_st) < (0)) __PYX_ERR(0, 10940, __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, 11321, __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, 11321, __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, 11321, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st);
  #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, 11321, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_st) < (0)) __PYX_ERR(0, 11321, __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, 11721, __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, 11721, __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, 11721, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st);
  #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, 11721, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS_st) < (0)) __PYX_ERR(0, 11721, __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, 11810, __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, 11810, __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, 11810, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st);
  #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, 11810, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11810, __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, 11890, __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, 11890, __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, 11890, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st);
  #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, 11890, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_st) < (0)) __PYX_ERR(0, 11890, __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, 11994, __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, 11994, __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, 11994, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6);
  #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, 11994, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct6) < (0)) __PYX_ERR(0, 11994, __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, 12056, __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, 12056, __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, 12056, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  #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, 12056, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_st) < (0)) __PYX_ERR(0, 12056, __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, 12148, __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, 12148, __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, 12148, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  #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, 12148, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < (0)) __PYX_ERR(0, 12148, __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, 12214, __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, 12214, __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, 12214, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7);
  #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, 12214, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct7) < (0)) __PYX_ERR(0, 12214, __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, 12262, __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, 12262, __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, 12262, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8);
  #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, 12262, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct8) < (0)) __PYX_ERR(0, 12262, __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, 12310, __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, 12310, __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, 12310, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9);
  #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, 12310, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct9) < (0)) __PYX_ERR(0, 12310, __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, 12397, __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, 12397, __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, 12397, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10);
  #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, 12397, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct10) < (0)) __PYX_ERR(0, 12397, __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, 12508, __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, 12508, __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, 12508, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11);
  #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, 12508, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct11) < (0)) __PYX_ERR(0, 12508, __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, 12546, __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, 12546, __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, 12546, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4);
  #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, 12546, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union4) < (0)) __PYX_ERR(0, 12546, __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, 12637, __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, 12637, __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, 12637, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st);
  #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, 12637, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_st) < (0)) __PYX_ERR(0, 12637, __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, 12708, __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, 12708, __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, 12708, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st);
  #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, 12708, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_st) < (0)) __PYX_ERR(0, 12708, __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, 12862, __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, 12862, __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, 12862, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st);
  #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, 12862, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_st) < (0)) __PYX_ERR(0, 12862, __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, 13002, __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, 13002, __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, 13002, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st);
  #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, 13002, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap_st) < (0)) __PYX_ERR(0, 13002, __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, 13046, __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, 13046, __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, 13046, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  #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, 13046, __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, 13046, __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, 13100, __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, 13100, __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, 13100, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st);
  #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, 13100, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_st) < (0)) __PYX_ERR(0, 13100, __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, 13271, __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, 13271, __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, 13271, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12);
  #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, 13271, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct12) < (0)) __PYX_ERR(0, 13271, __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, 13323, __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, 13323, __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, 13323, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5);
  #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, 13323, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union5) < (0)) __PYX_ERR(0, 13323, __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, 13387, __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, 13387, __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, 13387, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  #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, 13387, __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, 13387, __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, 13482, __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, 13482, __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, 13482, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  #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, 13482, __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, 13482, __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, 13560, __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, 13560, __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, 13560, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  #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, 13560, __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, 13560, __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, 13640, __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, 13640, __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, 13640, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13);
  #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, 13640, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct13) < (0)) __PYX_ERR(0, 13640, __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, 13692, __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, 13692, __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, 13692, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6);
  #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, 13692, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union6) < (0)) __PYX_ERR(0, 13692, __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, 13756, __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, 13756, __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, 13756, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  #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, 13756, __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, 13756, __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, 13839, __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, 13839, __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, 13839, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14);
  #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, 13839, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct14) < (0)) __PYX_ERR(0, 13839, __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, 13877, __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, 13877, __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, 13877, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7);
  #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, 13877, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union7) < (0)) __PYX_ERR(0, 13877, __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, 13928, __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, 13928, __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, 13928, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15);
  #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, 13928, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct15) < (0)) __PYX_ERR(0, 13928, __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, 13966, __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, 13966, __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, 13966, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16);
  #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, 13966, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct16) < (0)) __PYX_ERR(0, 13966, __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, 14043, __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, 14043, __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, 14043, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  #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, 14043, __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, 14043, __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, 14117, __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, 14117, __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, 14117, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17);
  #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, 14117, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct17) < (0)) __PYX_ERR(0, 14117, __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, 14155, __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, 14155, __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, 14155, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8);
  #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, 14155, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union8) < (0)) __PYX_ERR(0, 14155, __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, 14206, __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, 14206, __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, 14206, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18);
  #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, 14206, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct18) < (0)) __PYX_ERR(0, 14206, __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, 14256, __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, 14256, __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, 14256, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19);
  #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, 14256, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct19) < (0)) __PYX_ERR(0, 14256, __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, 14333, __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, 14333, __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, 14333, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  #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, 14333, __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, 14333, __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, 14407, __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, 14407, __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, 14407, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  #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, 14407, __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, 14407, __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, 14508, __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, 14508, __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, 14508, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  #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, 14508, __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, 14508, __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, 14609, __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, 14609, __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, 14609, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  #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, 14609, __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, 14609, __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, 14710, __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, 14710, __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, 14710, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  #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, 14710, __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, 14710, __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, 14811, __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, 14811, __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, 14811, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9);
  #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, 14811, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union9) < (0)) __PYX_ERR(0, 14811, __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, 14881, __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, 14881, __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, 14881, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20);
  #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, 14881, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct20) < (0)) __PYX_ERR(0, 14881, __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, 15003, __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, 15003, __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, 15003, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21);
  #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, 15003, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct21) < (0)) __PYX_ERR(0, 15003, __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, 15065, __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, 15065, __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, 15065, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10);
  #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, 15065, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union10) < (0)) __PYX_ERR(0, 15065, __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, 15117, __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, 15117, __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, 15117, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11);
  #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, 15117, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union11) < (0)) __PYX_ERR(0, 15117, __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, 15166, __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, 15166, __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, 15166, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st);
  #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, 15166, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_st) < (0)) __PYX_ERR(0, 15166, __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, 15342, __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, 15342, __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, 15342, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st);
  #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, 15342, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_st) < (0)) __PYX_ERR(0, 15342, __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, 15398, __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, 15398, __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, 15398, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22);
  #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, 15398, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct22) < (0)) __PYX_ERR(0, 15398, __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, 15475, __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, 15475, __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, 15475, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st);
  #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, 15475, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_st) < (0)) __PYX_ERR(0, 15475, __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, 15576, __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, 15576, __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, 15576, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st);
  #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, 15576, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_st) < (0)) __PYX_ERR(0, 15576, __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, 15657, __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, 15657, __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, 15657, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st);
  #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, 15657, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_st) < (0)) __PYX_ERR(0, 15657, __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, 15714, __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, 15714, __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, 15714, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st);
  #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, 15714, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_st) < (0)) __PYX_ERR(0, 15714, __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, 15805, __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, 15805, __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, 15805, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st);
  #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, 15805, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_st) < (0)) __PYX_ERR(0, 15805, __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, 15934, __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, 15934, __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, 15934, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st);
  #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, 15934, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_st) < (0)) __PYX_ERR(0, 15934, __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, 15979, __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, 15979, __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, 15979, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st);
  #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, 15979, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_st) < (0)) __PYX_ERR(0, 15979, __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, 16065, __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, 16065, __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, 16065, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st);
  #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, 16065, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_st) < (0)) __PYX_ERR(0, 16065, __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, 16131, __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, 16131, __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, 16131, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st);
  #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, 16131, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_st) < (0)) __PYX_ERR(0, 16131, __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, 16197, __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, 16197, __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, 16197, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23);
  #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, 16197, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct23) < (0)) __PYX_ERR(0, 16197, __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, 16283, __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, 16283, __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, 16283, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24);
  #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, 16283, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_struct24) < (0)) __PYX_ERR(0, 16283, __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, 16344, __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, 16344, __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, 16344, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12);
  #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, 16344, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union12) < (0)) __PYX_ERR(0, 16344, __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, 16396, __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, 16396, __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, 16396, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st);
  #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, 16396, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_st) < (0)) __PYX_ERR(0, 16396, __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, 16455, __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, 16455, __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, 16455, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st);
  #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, 16455, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_st) < (0)) __PYX_ERR(0, 16455, __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, 16549, __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, 16549, __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, 16549, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  #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, 16549, __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, 16549, __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, 16672, __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, 16672, __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, 16672, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  #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, 16672, __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, 16672, __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, 16795, __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, 16795, __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, 16795, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS_st);
  #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, 16795, __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, 16795, __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, 16848, __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, 16848, __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, 16848, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  #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, 16848, __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, 16848, __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, 16918, __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, 16918, __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, 16918, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  #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, 16918, __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, 16918, __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, 16970, __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, 16970, __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, 16970, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  #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, 16970, __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, 16970, __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, 17022, __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, 17022, __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, 17022, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st);
  #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, 17022, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams_st) < (0)) __PYX_ERR(0, 17022, __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, 17273, __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, 17273, __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, 17273, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st);
  #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, 17273, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs_st) < (0)) __PYX_ERR(0, 17273, __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, 17341, __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, 17341, __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, 17341, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st);
  #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, 17341, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs_st) < (0)) __PYX_ERR(0, 17341, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st)) __PYX_ERR(0, 17384, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st) < (0)) __PYX_ERR(0, 17384, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_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_CUcheckpointGpuPair_st) < (0)) __PYX_ERR(0, 17384, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointGpuPair_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st) < (0)) __PYX_ERR(0, 17384, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st) < (0)) __PYX_ERR(0, 17384, __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, 17440, __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, 17440, __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, 17440, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st);
  #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, 17440, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs_st) < (0)) __PYX_ERR(0, 17440, __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, 17558, __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, 17558, __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, 17558, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st);
  #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, 17558, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs_st) < (0)) __PYX_ERR(0, 17558, __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, 17601, __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, 17601, __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, 17601, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st);
  #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, 17601, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams_st) < (0)) __PYX_ERR(0, 17601, __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, 17729, __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, 17729, __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, 17729, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st);
  #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, 17729, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource_st) < (0)) __PYX_ERR(0, 17729, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st)) __PYX_ERR(0, 17810, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st) < (0)) __PYX_ERR(0, 17810, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st = &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_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_CUdevWorkqueueConfigResource_st) < (0)) __PYX_ERR(0, 17810, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevWorkqueueConfigResource_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st) < (0)) __PYX_ERR(0, 17810, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st) < (0)) __PYX_ERR(0, 17810, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st)) __PYX_ERR(0, 17887, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st) < (0)) __PYX_ERR(0, 17887, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st = &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_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_CUdevWorkqueueResource_st) < (0)) __PYX_ERR(0, 17887, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevWorkqueueResource_st, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st) < (0)) __PYX_ERR(0, 17887, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st) < (0)) __PYX_ERR(0, 17887, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st)) __PYX_ERR(0, 17930, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st) < (0)) __PYX_ERR(0, 17930, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st = &__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_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_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st) < (0)) __PYX_ERR(0, 17930, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st) < (0)) __PYX_ERR(0, 17930, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st) < (0)) __PYX_ERR(0, 17930, __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, 18021, __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, 18021, __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, 18021, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st);
  #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, 18021, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_st) < (0)) __PYX_ERR(0, 18021, __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, 18165, __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, 18165, __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, 18165, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15);
  #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, 18165, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_anon_union15) < (0)) __PYX_ERR(0, 18165, __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, 18224, __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, 18224, __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, 18224, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st);
  #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, 18224, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_st) < (0)) __PYX_ERR(0, 18224, __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, 4981, __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, 4981, __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, 4981, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr);
  #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, 4981, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr) < (0)) __PYX_ERR(0, 4981, __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, 5008, __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, 5008, __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, 5008, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice);
  #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, 5008, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice) < (0)) __PYX_ERR(0, 5008, __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, 5035, __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, 5035, __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, 5035, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject);
  #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, 5035, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject) < (0)) __PYX_ERR(0, 5035, __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, 5062, __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, 5062, __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, 5062, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject);
  #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, 5062, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject) < (0)) __PYX_ERR(0, 5062, __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, 5089, __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, 5089, __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, 5089, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle);
  #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, 5089, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphConditionalHandle) < (0)) __PYX_ERR(0, 5089, __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, 3775, __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, 3775, __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, 3775, __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, 3775, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUuuid);
  #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, 3775, __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, 3789, __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, 3789, __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, 3789, __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, 3789, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle_v1);
  #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, 3789, __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, 3808, __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, 3808, __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, 3808, __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, 3808, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemFabricHandle);
  #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, 3808, __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, 3827, __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, 3827, __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, 3827, __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, 3827, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle_v1);
  #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, 3827, __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, 3843, __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, 3843, __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, 3843, __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, 3843, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcEventHandle);
  #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, 3843, __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, 3859, __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, 3859, __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, 3859, __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, 3859, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle_v1);
  #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, 3859, __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, 3875, __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, 3875, __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, 3875, __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, 3875, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUipcMemHandle);
  #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, 3875, __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, 3891, __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, 3891, __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, 3891, __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, 3891, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams_v1);
  #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, 3891, __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, 3922, __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, 3922, __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, 3922, __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, 3922, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamBatchMemOpParams);
  #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, 3922, __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, 3953, __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, 3953, __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, 3953, __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, 3953, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  #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, 3953, __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, 3976, __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, 3976, __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, 3976, __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, 3976, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  #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, 3976, __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, 3999, __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, 3999, __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, 3999, __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, 3999, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  #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, 3999, __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, 4021, __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, 4021, __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, 4021, __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, 4021, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUasyncNotificationInfo);
  #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, 4021, __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, 4040, __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, 4040, __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, 4040, __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, 4040, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop_v1);
  #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, 4040, __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, 4074, __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, 4074, __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, 4074, __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, 4074, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevprop);
  #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, 4074, __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, 4108, __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, 4108, __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, 4108, __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, 4108, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow_v1);
  #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, 4108, __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, 4144, __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, 4144, __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, 4144, __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, 4144, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUaccessPolicyWindow);
  #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, 4144, __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, 4180, __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, 4180, __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, 4180, __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, 4180, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v1);
  #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, 4180, __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, 4214, __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, 4214, __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, 4214, __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, 4214, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v2);
  #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, 4214, __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, 4254, __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, 4254, __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, 4254, __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, 4254, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS);
  #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, 4254, __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, 4294, __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, 4294, __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, 4294, __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, 4294, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_KERNEL_NODE_PARAMS_v3);
  #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, 4294, __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, 4334, __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, 4334, __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, 4334, __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, 4334, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v1);
  #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, 4334, __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, 4360, __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, 4360, __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, 4360, __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, 4360, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS);
  #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, 4360, __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, 4386, __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, 4386, __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, 4386, __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, 4386, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMSET_NODE_PARAMS_v2);
  #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, 4386, __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, 4414, __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, 4414, __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, 4414, __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, 4414, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v1);
  #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, 4414, __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, 4432, __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, 4432, __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, 4432, __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, 4432, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS);
  #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, 4432, __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, 4450, __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, 4450, __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, 4450, __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, 4450, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_HOST_NODE_PARAMS_v2);
  #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, 4450, __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, 4468, __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, 4468, __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, 4468, __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, 4468, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphEdgeData);
  #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, 4468, __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, 4509, __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, 4509, __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, 4509, __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, 4509, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_GRAPH_INSTANTIATE_PARAMS);
  #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, 4509, __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, 4531, __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, 4531, __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, 4531, __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, 4531, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchMemSyncDomainMap);
  #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, 4531, __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, 4555, __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, 4555, __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, 4555, __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, 4555, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttributeValue);
  #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, 4555, __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, 4642, __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, 4642, __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, 4642, __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, 4642, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchAttribute);
  #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, 4642, __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, 4660, __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, 4660, __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, 4660, __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, 4660, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlaunchConfig);
  #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, 4660, __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, 4694, __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, 4694, __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, 4694, __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, 4694, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue_v1);
  #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, 4694, __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, 4781, __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, 4781, __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, 4781, __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, 4781, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUkernelNodeAttrValue);
  #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, 4781, __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, 4868, __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, 4868, __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, 4868, __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, 4868, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue_v1);
  #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, 4868, __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, 4955, __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, 4955, __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, 4955, __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, 4955, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUstreamAttrValue);
  #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, 4955, __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, 5042, __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, 5042, __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, 5042, __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, 5042, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount_v1);
  #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, 5042, __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, 5058, __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, 5058, __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, 5058, __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, 5058, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinitySmCount);
  #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, 5058, __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, 5074, __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, 5074, __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, 5074, __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, 5074, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam_v1);
  #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, 5074, __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, 5092, __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, 5092, __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, 5092, __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, 5092, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUexecAffinityParam);
  #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, 5092, __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, 5110, __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, 5110, __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, 5110, __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, 5110, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCigParam);
  #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, 5110, __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, 5128, __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, 5128, __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, 5128, __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, 5128, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUctxCreateParams);
  #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, 5128, __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, 5149, __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, 5149, __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, 5149, __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, 5149, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlibraryHostUniversalFunctionAndDataTable);
  #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, 5149, __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, 5169, __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, 5169, __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, 5169, __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, 5169, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D_v2);
  #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, 5169, __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, 5215, __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, 5215, __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, 5215, __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, 5215, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY2D);
  #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, 5215, __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, 5261, __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, 5261, __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, 5261, __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, 5261, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_v2);
  #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, 5261, __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, 5326, __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, 5326, __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, 5326, __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, 5326, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D);
  #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, 5326, __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, 5391, __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, 5391, __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, 5391, __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, 5391, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER_v1);
  #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, 5391, __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, 5457, __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, 5457, __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, 5457, __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, 5457, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_PEER);
  #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, 5457, __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, 5523, __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, 5523, __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, 5523, __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, 5523, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY_NODE_PARAMS);
  #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, 5523, __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, 5545, __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, 5545, __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, 5545, __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, 5545, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR_v2);
  #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, 5545, __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, 5567, __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, 5567, __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, 5567, __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, 5567, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_DESCRIPTOR);
  #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, 5567, __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, 5589, __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, 5589, __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, 5589, __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, 5589, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR_v2);
  #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, 5589, __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, 5615, __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, 5615, __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, 5615, __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, 5615, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY3D_DESCRIPTOR);
  #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, 5615, __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, 5641, __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, 5641, __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, 5641, __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, 5641, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  #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, 5641, __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, 5666, __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, 5666, __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, 5666, __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, 5666, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_SPARSE_PROPERTIES);
  #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, 5666, __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, 5691, __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, 5691, __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, 5691, __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, 5691, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  #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, 5691, __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, 5711, __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, 5711, __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, 5711, __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, 5711, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  #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, 5711, __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, 5731, __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, 5731, __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, 5731, __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, 5731, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC_v1);
  #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, 5731, __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, 5751, __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, 5751, __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, 5751, __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, 5751, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_DESC);
  #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, 5751, __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, 5771, __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, 5771, __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, 5771, __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, 5771, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC_v1);
  #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, 5771, __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, 5805, __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, 5805, __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, 5805, __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, 5805, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_TEXTURE_DESC);
  #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, 5805, __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, 5839, __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, 5839, __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, 5839, __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, 5839, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC_v1);
  #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, 5839, __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, 5871, __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, 5871, __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, 5871, __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, 5871, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_RESOURCE_VIEW_DESC);
  #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, 5871, __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, 5903, __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, 5903, __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, 5903, __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, 5903, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtensorMap);
  #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, 5903, __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, 5920, __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, 5920, __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, 5920, __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, 5920, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  #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, 5920, __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, 5938, __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, 5938, __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, 5938, __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, 5938, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  #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, 5938, __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, 5956, __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, 5956, __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, 5956, __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, 5956, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS_v1);
  #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, 5956, __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, 5990, __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, 5990, __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, 5990, __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, 5990, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_LAUNCH_PARAMS);
  #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, 5990, __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, 6024, __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, 6024, __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, 6024, __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, 6024, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  #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, 6024, __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, 6048, __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, 6048, __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, 6048, __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, 6048, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  #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, 6048, __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, 6072, __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, 6072, __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, 6072, __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, 6072, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  #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, 6072, __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, 6094, __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, 6094, __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, 6094, __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, 6094, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  #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, 6094, __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, 6116, __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, 6116, __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, 6116, __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, 6116, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  #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, 6116, __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, 6139, __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, 6139, __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, 6139, __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, 6139, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  #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, 6139, __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, 6162, __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, 6162, __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, 6162, __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, 6162, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  #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, 6162, __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, 6184, __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, 6184, __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, 6184, __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, 6184, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  #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, 6184, __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, 6206, __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, 6206, __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, 6206, __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, 6206, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  #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, 6206, __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, 6233, __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, 6233, __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, 6233, __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, 6233, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  #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, 6233, __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, 6260, __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, 6260, __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, 6260, __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, 6260, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  #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, 6260, __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, 6287, __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, 6287, __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, 6287, __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, 6287, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  #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, 6287, __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, 6314, __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, 6314, __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, 6314, __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, 6314, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  #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, 6314, __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, 6335, __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, 6335, __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, 6335, __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, 6335, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  #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, 6335, __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, 6356, __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, 6356, __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, 6356, __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, 6356, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  #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, 6356, __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, 6377, __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, 6377, __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, 6377, __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, 6377, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  #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, 6377, __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, 6398, __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, 6398, __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, 6398, __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, 6398, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  #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, 6398, __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, 6419, __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, 6419, __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, 6419, __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, 6419, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  #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, 6419, __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, 5508, __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, 5508, __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, 5508, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle);
  #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, 5508, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle) < (0)) __PYX_ERR(0, 5508, __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, 6452, __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, 6452, __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, 6452, __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, 6452, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo_v1);
  #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, 6452, __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, 6489, __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, 6489, __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, 6489, __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, 6489, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUarrayMapInfo);
  #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, 6489, __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, 6526, __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, 6526, __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, 6526, __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, 6526, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation_v1);
  #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, 6526, __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, 6544, __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, 6544, __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, 6544, __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, 6544, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemLocation);
  #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, 6544, __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, 6562, __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, 6562, __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, 6562, __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, 6562, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp_v1);
  #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, 6562, __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, 6590, __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, 6590, __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, 6590, __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, 6590, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAllocationProp);
  #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, 6590, __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, 6618, __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, 6618, __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, 6618, __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, 6618, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp_v1);
  #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, 6618, __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, 6643, __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, 6643, __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, 6643, __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, 6643, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmulticastObjectProp);
  #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, 6643, __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, 6668, __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, 6668, __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, 6668, __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, 6668, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc_v1);
  #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, 6668, __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, 6686, __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, 6686, __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, 6686, __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, 6686, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemAccessDesc);
  #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, 6686, __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, 6704, __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, 6704, __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, 6704, __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, 6704, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo_v1);
  #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, 6704, __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, 6727, __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, 6727, __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, 6727, __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, 6727, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphExecUpdateResultInfo);
  #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, 6727, __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, 6750, __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, 6750, __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, 6750, __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, 6750, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps_v1);
  #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, 6750, __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, 6784, __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, 6784, __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, 6784, __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, 6784, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolProps);
  #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, 6784, __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, 6818, __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, 6818, __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, 6818, __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, 6818, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData_v1);
  #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, 6818, __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, 6834, __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, 6834, __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, 6834, __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, 6834, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemPoolPtrExportData);
  #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, 6834, __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, 6850, __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, 6850, __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, 6850, __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, 6850, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes_v1);
  #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, 6850, __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, 6876, __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, 6876, __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, 6876, __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, 6876, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpyAttributes);
  #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, 6876, __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, 6902, __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, 6902, __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, 6902, __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, 6902, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D_v1);
  #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, 6902, __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, 6922, __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, 6922, __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, 6922, __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, 6922, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUoffset3D);
  #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, 6922, __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, 6942, __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, 6942, __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, 6942, __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, 6942, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D_v1);
  #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, 6942, __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, 6962, __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, 6962, __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, 6962, __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, 6962, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUextent3D);
  #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, 6962, __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, 6982, __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, 6982, __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, 6982, __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, 6982, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand_v1);
  #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, 6982, __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, 7000, __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, 7000, __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, 7000, __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, 7000, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemcpy3DOperand);
  #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, 7000, __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, 7018, __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, 7018, __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, 7018, __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, 7018, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP_v1);
  #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, 7018, __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, 7041, __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, 7041, __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, 7041, __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, 7041, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEMCPY3D_BATCH_OP);
  #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, 7041, __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, 7064, __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, 7064, __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, 7064, __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, 7064, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  #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, 7064, __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, 7092, __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, 7092, __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, 7092, __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, 7092, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS);
  #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, 7092, __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, 7120, __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, 7120, __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, 7120, __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, 7120, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  #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, 7120, __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, 7148, __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, 7148, __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, 7148, __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, 7148, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_MEM_FREE_NODE_PARAMS);
  #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, 7148, __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, 7164, __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, 7164, __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, 7164, __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, 7164, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_CHILD_GRAPH_NODE_PARAMS);
  #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, 7164, __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, 7186, __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, 7186, __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, 7186, __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, 7186, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_RECORD_NODE_PARAMS);
  #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, 7186, __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, 7202, __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, 7202, __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, 7202, __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, 7202, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUDA_EVENT_WAIT_NODE_PARAMS);
  #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, 7202, __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, 7218, __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, 7218, __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, 7218, __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, 7218, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUgraphNodeParams);
  #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, 7218, __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, 7266, __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, 7266, __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, 7266, __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, 7266, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointLockArgs);
  #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, 7266, __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, 7287, __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, 7287, __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, 7287, __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, 7287, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointCheckpointArgs);
  #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, 7287, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair)) __PYX_ERR(3, 7303, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair) < (0)) __PYX_ERR(3, 7303, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair = &__pyx_type_4cuda_8bindings_6driver_CUcheckpointGpuPair;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair) < (0)) __PYX_ERR(3, 7303, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUcheckpointGpuPair, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointGpuPair) < (0)) __PYX_ERR(3, 7303, __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, 7321, __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, 7321, __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, 7321, __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, 7321, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointRestoreArgs);
  #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, 7321, __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, 7344, __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, 7344, __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, 7344, __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, 7344, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUcheckpointUnlockArgs);
  #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, 7344, __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, 7360, __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, 7360, __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, 7360, __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, 7360, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemDecompressParams);
  #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, 7360, __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, 7398, __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, 7398, __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, 7398, __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, 7398, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevSmResource);
  #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, 7398, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource)) __PYX_ERR(3, 7423, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource) < (0)) __PYX_ERR(3, 7423, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource = &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource) < (0)) __PYX_ERR(3, 7423, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevWorkqueueConfigResource, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueConfigResource) < (0)) __PYX_ERR(3, 7423, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource)) __PYX_ERR(3, 7441, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource) < (0)) __PYX_ERR(3, 7441, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource = &__pyx_type_4cuda_8bindings_6driver_CUdevWorkqueueResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource) < (0)) __PYX_ERR(3, 7441, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CUdevWorkqueueResource, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevWorkqueueResource) < (0)) __PYX_ERR(3, 7441, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 7455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS)) __PYX_ERR(3, 7455, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_spec, __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS) < (0)) __PYX_ERR(3, 7455, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS = &__pyx_type_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS->tp_base = __pyx_mstate_global->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS) < (0)) __PYX_ERR(3, 7455, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS->tp_dictoffset && __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_CU_DEV_SM_RESOURCE_GROUP_PARAMS_2, (PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CU_DEV_SM_RESOURCE_GROUP_PARAMS) < (0)) __PYX_ERR(3, 7455, __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, 7480, __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, 7480, __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, 7480, __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, 7480, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource_v1);
  #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, 7480, __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, 7508, __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, 7508, __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, 7508, __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, 7508, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevResource);
  #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, 7508, __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, 7536, __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, 7536, __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, 7536, __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, 7536, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame_v1);
  #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, 7536, __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, 7572, __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, 7572, __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, 7572, __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, 7572, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUeglFrame);
  #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, 7572, __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, 18385, __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, 18385, __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, 18385, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t);
  #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, 18385, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint32_t) < (0)) __PYX_ERR(0, 18385, __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, 18410, __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, 18410, __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, 18410, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t);
  #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, 18410, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cuuint64_t) < (0)) __PYX_ERR(0, 18410, __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, 18435, __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, 18435, __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, 18435, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2);
  #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, 18435, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdeviceptr_v2) < (0)) __PYX_ERR(0, 18435, __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, 18462, __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, 18462, __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, 18462, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1);
  #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, 18462, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUdevice_v1) < (0)) __PYX_ERR(0, 18462, __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, 18489, __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, 18489, __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, 18489, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1);
  #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, 18489, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUtexObject_v1) < (0)) __PYX_ERR(0, 18489, __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, 18516, __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, 18516, __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, 18516, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1);
  #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, 18516, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUsurfObject_v1) < (0)) __PYX_ERR(0, 18516, __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, 18543, __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, 18543, __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, 18543, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1);
  #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, 18543, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUmemGenericAllocationHandle_v1) < (0)) __PYX_ERR(0, 18543, __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, 18568, __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, 18568, __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, 18568, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator);
  #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, 18568, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_CUlogIterator) < (0)) __PYX_ERR(0, 18568, __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, 18593, __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, 18593, __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, 18593, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum);
  #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, 18593, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLenum) < (0)) __PYX_ERR(0, 18593, __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, 18618, __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, 18618, __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, 18618, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint);
  #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, 18618, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_GLuint) < (0)) __PYX_ERR(0, 18618, __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, 18643, __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, 18643, __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, 18643, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint);
  #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, 18643, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_EGLint) < (0)) __PYX_ERR(0, 18643, __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, 18668, __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, 18668, __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, 18668, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice);
  #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, 18668, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpDevice) < (0)) __PYX_ERR(0, 18668, __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, 18693, __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, 18693, __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, 18693, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress);
  #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, 18693, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpGetProcAddress) < (0)) __PYX_ERR(0, 18693, __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, 18718, __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, 18718, __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, 18718, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface);
  #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, 18718, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpVideoSurface) < (0)) __PYX_ERR(0, 18718, __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, 18743, __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, 18743, __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, 18743, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface);
  #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, 18743, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_VdpOutputSurface) < (0)) __PYX_ERR(0, 18743, __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, 47920, __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, 47920, __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, 47920, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal);
  #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, 47920, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver_cudaBindingsDriverGlobal) < (0)) __PYX_ERR(0, 47920, __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, 358, __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, 358, __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, 358, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct__genexpr);
  #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, 375, __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, 375, __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, 375, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_1_genexpr);
  #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, 415, __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, 415, __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, 415, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_2_genexpr);
  #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, 434, __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, 434, __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, 434, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_3_genexpr);
  #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, 453, __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, 453, __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, 453, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_4_genexpr);
  #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, 472, __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, 472, __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, 472, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_5_genexpr);
  #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, 485, __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, 485, __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, 485, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_6_genexpr);
  #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, 505, __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, 505, __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, 505, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_7_genexpr);
  #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, 520, __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, 520, __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, 520, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_8_genexpr);
  #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, 534, __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, 534, __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, 534, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_9_genexpr);
  #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, 555, __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, 555, __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, 555, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_10_genexpr);
  #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, 569, __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, 569, __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, 569, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_11_genexpr);
  #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, 605, __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, 605, __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, 605, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_12_genexpr);
  #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, 623, __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, 623, __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, 623, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_13_genexpr);
  #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, 653, __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, 653, __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, 653, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_14_genexpr);
  #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, 666, __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, 666, __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, 666, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_15_genexpr);
  #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, 683, __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, 683, __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, 683, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_16_genexpr);
  #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, 693, __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, 693, __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, 693, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_17_genexpr);
  #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, 707, __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, 707, __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, 707, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_18_genexpr);
  #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, 720, __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, 720, __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, 720, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_19_genexpr);
  #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, 730, __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, 730, __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, 730, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_20_genexpr);
  #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, 950, __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, 950, __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, 950, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_21_genexpr);
  #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, 969, __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, 969, __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, 969, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_22_genexpr);
  #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, 982, __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, 982, __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, 982, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_23_genexpr);
  #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, 1509, __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, 1509, __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, 1509, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_24_genexpr);
  #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, 1594, __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, 1594, __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, 1594, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_25_genexpr);
  #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, 1724, __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, 1724, __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, 1724, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_26_genexpr);
  #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, 1743, __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, 1743, __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, 1743, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_27_genexpr);
  #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, 1759, __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, 1759, __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, 1759, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_28_genexpr);
  #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, 1776, __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, 1776, __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, 1776, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_29_genexpr);
  #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, 1795, __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, 1795, __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, 1795, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_30_genexpr);
  #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, 1813, __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, 1813, __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, 1813, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_31_genexpr);
  #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, 1840, __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, 1840, __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, 1840, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_32_genexpr);
  #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, 1873, __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, 1873, __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, 1873, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_33_genexpr);
  #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, 2123, __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, 2123, __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, 2123, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_34_genexpr);
  #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, 2231, __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, 2231, __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, 2231, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_35_genexpr);
  #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, 2245, __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, 2245, __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, 2245, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_36_genexpr);
  #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, 2261, __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, 2261, __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, 2261, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_37_genexpr);
  #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, 2297, __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, 2297, __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, 2297, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_38_genexpr);
  #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, 2309, __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, 2309, __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, 2309, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_39_genexpr);
  #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, 2319, __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, 2319, __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, 2319, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_40_genexpr);
  #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, 2344, __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, 2344, __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, 2344, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_41_genexpr);
  #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, 2387, __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, 2387, __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, 2387, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_42_genexpr);
  #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, 2406, __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, 2406, __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, 2406, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_43_genexpr);
  #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, 2423, __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, 2423, __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, 2423, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_44_genexpr);
  #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, 2444, __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, 2444, __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, 2444, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_45_genexpr);
  #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, 2518, __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, 2518, __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, 2518, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_46_genexpr);
  #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, 2536, __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, 2536, __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, 2536, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_47_genexpr);
  #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, 2565, __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, 2565, __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, 2565, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_48_genexpr);
  #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, 2576, __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, 2576, __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, 2576, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_49_genexpr);
  #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, 2594, __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, 2594, __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, 2594, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_50_genexpr);
  #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, 2624, __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, 2624, __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, 2624, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_51_genexpr);
  #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, 2821, __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, 2821, __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, 2821, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_52_genexpr);
  #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, 2839, __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, 2839, __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, 2839, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_53_genexpr);
  #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, 2851, __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, 2851, __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, 2851, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_54_genexpr);
  #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, 2868, __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, 2868, __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, 2868, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_55_genexpr);
  #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, 2885, __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, 2885, __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, 2885, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_56_genexpr);
  #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, 2896, __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, 2896, __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, 2896, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_57_genexpr);
  #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, 2907, __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, 2907, __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, 2907, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_58_genexpr);
  #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, 2929, __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, 2929, __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, 2929, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_59_genexpr);
  #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, 3427, __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, 3427, __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, 3427, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_60_genexpr);
  #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, 3453, __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, 3453, __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, 3453, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_61_genexpr);
  #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, 3565, __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, 3565, __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, 3565, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_62_genexpr);
  #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, 3588, __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, 3588, __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, 3588, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_63_genexpr);
  #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, 3598, __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, 3598, __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, 3598, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_64_genexpr);
  #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, 3612, __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, 3612, __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, 3612, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_65_genexpr);
  #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, 3623, __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, 3623, __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, 3623, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_66_genexpr);
  #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, 3632, __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, 3632, __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, 3632, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_67_genexpr);
  #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, 3641, __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, 3641, __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, 3641, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_68_genexpr);
  #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, 3662, __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, 3662, __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, 3662, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_69_genexpr);
  #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, 3696, __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, 3696, __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, 3696, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_70_genexpr);
  #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, 3735, __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, 3735, __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, 3735, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_71_genexpr);
  #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, 3759, __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, 3759, __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, 3759, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_72_genexpr);
  #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, 3776, __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, 3776, __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, 3776, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_73_genexpr);
  #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, 3801, __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, 3801, __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, 3801, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_74_genexpr);
  #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, 3817, __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, 3817, __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, 3817, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_75_genexpr);
  #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, 3831, __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, 3831, __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, 3831, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_76_genexpr);
  #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, 3840, __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, 3840, __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, 3840, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_77_genexpr);
  #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, 3850, __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, 3850, __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, 3850, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_78_genexpr);
  #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, 3859, __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, 3859, __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, 3859, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_79_genexpr);
  #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, 3868, __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, 3868, __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, 3868, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_80_genexpr);
  #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, 3876, __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, 3876, __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, 3876, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_81_genexpr);
  #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, 3889, __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, 3889, __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, 3889, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_82_genexpr);
  #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, 3902, __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, 3902, __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, 3902, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_83_genexpr);
  #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, 3941, __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, 3941, __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, 3941, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_84_genexpr);
  #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, 3990, __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, 3990, __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, 3990, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_85_genexpr);
  #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, 4003, __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, 4003, __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, 4003, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_86_genexpr);
  #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, 4038, __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, 4038, __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, 4038, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_87_genexpr);
  #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, 4053, __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, 4053, __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, 4053, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_88_genexpr);
  #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, 4078, __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, 4078, __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, 4078, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_89_genexpr);
  #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, 4101, __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, 4101, __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, 4101, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_90_genexpr);
  #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, 4118, __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, 4118, __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, 4118, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_91_genexpr);
  #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, 4138, __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, 4138, __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, 4138, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_92_genexpr);
  #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, 4152, __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, 4152, __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, 4152, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_93_genexpr);
  #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, 4163, __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, 4163, __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, 4163, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_94_genexpr);
  #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, 4218, __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, 4218, __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, 4218, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_95_genexpr);
  #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, 4229, __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, 4229, __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, 4229, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_96_genexpr);
  #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, 4240, __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, 4240, __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, 4240, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_97_genexpr);
  #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, 4265, __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, 4265, __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, 4265, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_98_genexpr);
  #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, 4279, __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, 4279, __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, 4279, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_99_genexpr);
  #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, 4300, __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, 4300, __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, 4300, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_100_genexpr);
  #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, 4313, __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, 4313, __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, 4313, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_101_genexpr);
  #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, 4332, __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, 4332, __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, 4332, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_102_genexpr);
  #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, 4342, __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, 4342, __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, 4342, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_103_genexpr);
  #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, 4357, __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, 4357, __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, 4357, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_104_genexpr);
  #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, 4373, __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, 4373, __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, 4373, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_105_genexpr);
  #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, 4383, __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, 4383, __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, 4383, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_106_genexpr);
  #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, 4392, __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, 4392, __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, 4392, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_107_genexpr);
  #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, 4401, __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, 4401, __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, 4401, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_108_genexpr);
  #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, 4418, __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, 4418, __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, 4418, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_109_genexpr);
  #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, 4433, __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, 4433, __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, 4433, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_110_genexpr);
  #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, 4442, __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, 4442, __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, 4442, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_111_genexpr);
  #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, 4455, __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, 4455, __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, 4455, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_112_genexpr);
  #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, 4468, __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, 4468, __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, 4468, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_113_genexpr);
  #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, 4491, __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, 4491, __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, 4491, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_114_genexpr);
  #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, 4951, __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, 4951, __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, 4951, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_115_genexpr);
  #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, 4969, __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, 4969, __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, 4969, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_116_genexpr);
  #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, 4979, __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, 4979, __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, 4979, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_117_genexpr);
  #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, 5309, __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, 5309, __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, 5309, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_118_genexpr);
  #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, 5506, __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, 5506, __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, 5506, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_119_genexpr);
  #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, 19238, __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, 19238, __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, 19238, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_120_genexpr);
  #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, 21371, __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, 21371, __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, 21371, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_121_genexpr);
  #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, 21718, __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, 21718, __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, 21718, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_122_genexpr);
  #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, 21784, __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, 21784, __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, 21784, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_123_genexpr);
  #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, 21853, __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, 21853, __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, 21853, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_124_genexpr);
  #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, 22107, __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, 22107, __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, 22107, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_125_genexpr);
  #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, 22111, __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, 22111, __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, 22111, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_126_genexpr);
  #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, 22203, __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, 22203, __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, 22203, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_127_genexpr);
  #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, 22207, __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, 22207, __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, 22207, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_128_genexpr);
  #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, 26009, __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, 26009, __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, 26009, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_129_genexpr);
  #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, 26012, __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, 26012, __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, 26012, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_130_genexpr);
  #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, 26014, __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, 26014, __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, 26014, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_131_genexpr);
  #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, 26017, __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, 26017, __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, 26017, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_132_genexpr);
  #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, 26020, __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, 26020, __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, 26020, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_133_genexpr);
  #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, 26178, __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, 26178, __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, 26178, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_134_genexpr);
  #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, 28138, __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, 28138, __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, 28138, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_135_genexpr);
  #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, 28245, __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, 28245, __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, 28245, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_136_genexpr);
  #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, 28843, __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, 28843, __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, 28843, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_137_genexpr);
  #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, 30610, __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, 30610, __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, 30610, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_138_genexpr);
  #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, 30613, __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, 30613, __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, 30613, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_139_genexpr);
  #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, 30615, __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, 30615, __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, 30615, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_140_genexpr);
  #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, 30618, __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, 30618, __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, 30618, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_141_genexpr);
  #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, 30711, __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, 30711, __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, 30711, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_142_genexpr);
  #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, 30714, __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, 30714, __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, 30714, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_143_genexpr);
  #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, 30817, __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, 30817, __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, 30817, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_144_genexpr);
  #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, 30820, __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, 30820, __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, 30820, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_145_genexpr);
  #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, 30822, __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, 30822, __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, 30822, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_146_genexpr);
  #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, 30825, __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, 30825, __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, 30825, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_147_genexpr);
  #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, 31082, __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, 31082, __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, 31082, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_148_genexpr);
  #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, 31084, __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, 31084, __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, 31084, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_149_genexpr);
  #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, 31230, __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, 31230, __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, 31230, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_150_genexpr);
  #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, 31925, __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, 31925, __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, 31925, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_151_genexpr);
  #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, 31928, __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, 31928, __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, 31928, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_152_genexpr);
  #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, 32292, __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, 32292, __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, 32292, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_153_genexpr);
  #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, 32295, __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, 32295, __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, 32295, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_154_genexpr);
  #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, 33644, __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, 33644, __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, 33644, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_155_genexpr);
  #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, 33647, __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, 33647, __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, 33647, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_156_genexpr);
  #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, 33771, __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, 33771, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_4cuda_8bindings_6driver___pyx_scope_struct_157_genexpr = &__pyx_type_4cuda_8bind